[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fqihk-WYARJlVMM1LKASn6x_yew_Ve9HjP12tNVwFXRA":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":11,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":37,"analysis":144,"fingerprints":431},"presswell-art-direction","Presswell Art Direction","1.1.12","Presswell","https:\u002F\u002Fprofiles.wordpress.org\u002Fpresswell\u002F","\u003Cp>Presswell Art Direction helps simplify how custom image thumbnail sizes are defined, cropped, and generated.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Control image cropping with hot-spots\u003C\u002Fli>\n\u003Cli>Select custom image sizes in the WordPress editor\u003C\u002Fli>\n\u003Cli>Dynamically generate image thumbnails\u003C\u002Fli>\n\u003Cli>Delete all cached thumbnails\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>\u003Cem>Image Cropping\u003C\u002Fem>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Presswell Art Direction adds the ability to set a focal point hot-spot for all images in the media library for fine grain cropping control. Simply identify where the subject of the photo is and the plugin will crop all custom image thumbnails to ensure it stays in frame.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Cem>Thumbnail Sizes\u003C\u002Fem>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Presswell Art Direction adds an easy to use interface for defining and editing custom image thumbnail sizes. Custom image sizes will be available for selection when inserting images in the post editor.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Cem>Dynamic Images\u003C\u002Fem>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Presswell Art Direction prevents custom image sizes from being generated automatically. Only standard WordPress thumbnails will be generated when a new image is uploaded. All other image sizes will be dynamically generated when called via code or requested via URL, saving server space when many custom image sizes are defined. Note: URL based image generation requires that \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FUsing_Permalinks\" rel=\"nofollow ugc\">pretty permalinks\u003C\u002Fa> are enabled.\u003C\u002Fp>\n\u003Ch4>Documentation\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>pwad_add_image_size( $args )\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>$args\u003C\u002Fstrong> (array) (required) – Keyed array containing \u003Ccode>name\u003C\u002Fcode>, \u003Ccode>key\u003C\u002Fcode>, \u003Ccode>height\u003C\u002Fcode>, \u003Ccode>width\u003C\u002Fcode>, and optionally \u003Ccode>thumbnails\u003C\u002Fcode> values; Thumbnail keys are prefixed with parent’s key like ‘[size]-[thumbnail]’\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>pwad_add_image_size( array(\n  'name' => 'Square',\n  'key' => 'square',\n  'width' => '1200',\n  'height' => '1200',\n  'thumbnails' => array(\n    array(\n      'name' => 'Medium',\n      'key' => 'medium',\n      'width' => '800',\n      'height' => '800',\n    ),\n    array(\n      'name' => 'Small',\n      'key' => 'small',\n      'width' => '400',\n      'height' => '400',\n    ),\n  ),\n) );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>pwad_get_image( $attachment_ID, $size_key, $thumbnail_key )\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>$attachment_ID\u003C\u002Fstrong> (int) (required) – ID of image attachment\u003C\u002Fli>\n\u003Cli>\u003Cstrong>$size_key\u003C\u002Fstrong> (string) (required) – Image size identifier; Overload using ‘[size]-[thumbnail]’ pattern\u003C\u002Fli>\n\u003Cli>\u003Cstrong>$thumbnail_key\u003C\u002Fstrong> (string) (required) – Image size thumbnail identifier\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Returns an image tag.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$square_large = pwad_get_image( $img_ID, 'square' );\n$square_medium = pwad_get_image( $img_ID, 'square', 'medium' );\n$square_small = pwad_get_image( $img_ID, 'square-small' ); \u002F\u002F Overloaded\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>pwad_get_image_src( $attachment_ID, $size_key, $thumbnail_key )\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>$attachment_ID\u003C\u002Fstrong> (int) (required) – ID of image attachment\u003C\u002Fli>\n\u003Cli>\u003Cstrong>$size_key\u003C\u002Fstrong> (string) (required) – Image size identifier; Overload using ‘[size]-[thumbnail]’ pattern\u003C\u002Fli>\n\u003Cli>\u003Cstrong>$thumbnail_key\u003C\u002Fstrong> (string) (required) – Image size thumbnail identifier\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Returns a keyed array containing the \u003Ccode>file\u003C\u002Fcode>, \u003Ccode>url\u003C\u002Fcode>, \u003Ccode>path\u003C\u002Fcode>, \u003Ccode>height\u003C\u002Fcode>, \u003Ccode>width\u003C\u002Fcode>, and \u003Ccode>mime-type\u003C\u002Fcode> values.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$square_large = pwad_get_image_src( $img_ID, 'square' );\n$square_medium = pwad_get_image_src( $img_ID, 'square', 'medium' );\n$square_small = pwad_get_image_src( $img_ID, 'square-small' ); \u002F\u002F Overloaded\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Control how custom image thumbnail sizes are defined, cropped, and generated.",100,4571,2,"2025-11-10T20:29:00.000Z","6.4.8","4.0","",[19,20,21,22,23],"crop","image","images","picture","thumbnail","http:\u002F\u002Fwordpress.org\u002Fplugins\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpresswell-art-direction.zip",0,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":13,"total_installs":32,"avg_security_score":33,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"presswell",110,93,30,89,"2026-04-04T19:46:05.250Z",[38,55,77,99,121],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":26,"num_ratings":26,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":17,"tags":51,"homepage":17,"download_link":53,"security_score":54,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"crop-and-resize-images","Crop and Resize Images","1.2.4","bo.lipai","https:\u002F\u002Fprofiles.wordpress.org\u002Fbolipai\u002F","\u003Cp>With the help of this plugin you will be able to resize to any dimmension and\u003Cbr \u002F>\ncrop all images from your WordPress library.\u003C\u002Fp>\n\u003Cp>The plugin introduces a visual and very simple to use image editor. The croped\u003Cbr \u002F>\nimage will retain the aspect ratio define by WordPress so no more missing\u003Cbr \u002F>\nimportant parts from your images.\u003C\u002Fp>\n","Crop and Resize Images Plugin allows you to easily modify WordPress uploaded images.",80,6592,"2015-10-21T23:59:00.000Z","4.3.34","3.5",[19,21,22,52,23],"resize","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcrop-and-resize-images.zip",85,{"slug":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":63,"downloaded":64,"rating":65,"num_ratings":66,"last_updated":67,"tested_up_to":68,"requires_at_least":69,"requires_php":17,"tags":70,"homepage":75,"download_link":76,"security_score":54,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"multi-image-metabox","Multi Image Metabox","1.3.5","Willy Bahuaud","https:\u002F\u002Fprofiles.wordpress.org\u002Fwillybahuaud\u002F","\u003Cp>This plugin add a metabox which allox to upload and link multiple images to one post.\u003Cbr \u002F>\nPictures are linked by the way of meta_value (and attachments ID). They can be reordered using drag and drop.\u003C\u002Fp>\n\u003Cp>Number of allowed pictures and concerned post types can be overited using hooks.\u003C\u002Fp>\n\u003Cp>Plugin includes many functions to retrieve linked pictures.\u003Cbr \u002F>\nFor more information on using the plugin, refer to the section \u003Ca href=\"\u002Fextend\u002Fplugins\u002Fmulti-image-metabox\u002Fother_notes\u002F\" rel=\"nofollow ugc\">“Other Notes”\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Set concerned post types\u003C\u002Fh3>\n\u003Cp>Paste this into your theme’s functions.php file :\n    \u003C\u002Fp>\n\u003Ch3>Set allowed number of picts\u003C\u002Fh3>\n\u003Cp>Paste this into your theme’s functions.php file :\u003Cbr \u002F>\n     ‘_image1’,\u003Cbr \u002F>\n                ‘image2’ => ‘_image2’,\u003Cbr \u002F>\n            );\u003Cbr \u002F>\n            return $picts;\u003Cbr \u002F>\n        }\u003Cbr \u002F>\n    ?>\u003C\u002Fp>\n\u003Ch4>Set allowed number of picts, depending to the post_type\u003C\u002Fh4>\n\u003Cp>Paste this into your theme’s functions.php file :\u003Cbr \u002F>\n    add_filter(‘list_images’,’my_list_images’,10,2);\u003Cbr \u002F>\n    function my_list_images($list_images, $cpt){\u003Cbr \u002F>\n        global $typenow;\u003Cbr \u002F>\n        if($typenow == “my_custom_post_type” || $cpt == “my_custom_post_type”)\u003Cbr \u002F>\n            $picts = array(\u003Cbr \u002F>\n                ‘image1’ => ‘_image1’,\u003Cbr \u002F>\n                ‘image2’ => ‘_image2’,\u003Cbr \u002F>\n                ‘image3’ => ‘_image3’,\u003Cbr \u002F>\n            );\u003Cbr \u002F>\n        else\u003Cbr \u002F>\n            $picts = array(\u003Cbr \u002F>\n                ‘image1’ => ‘_image1’,\u003Cbr \u002F>\n                ‘image2’ => ‘_image2’,\u003Cbr \u002F>\n                ‘image3’ => ‘_image3’,\u003Cbr \u002F>\n                ‘image4’ => ‘_image4’,\u003Cbr \u002F>\n                ‘image5’ => ‘_image5’,\u003Cbr \u002F>\n                ‘image6’ => ‘_image6’,\u003Cbr \u002F>\n                ‘image7’ => ‘_image7’,\u003Cbr \u002F>\n                ‘image8’ => ‘_image8’,\u003Cbr \u002F>\n            );\u003Cbr \u002F>\n        return $picts;\u003Cbr \u002F>\n    }\u003C\u002Fp>\n\u003Ch3>get_images_ids()\u003C\u002Fh3>\n\u003Cp>This function have to be used into a template file, or any function.\u003Cbr \u002F>\nIt return an array of the linked attachments’s ID.\u003C\u002Fp>\n\u003Cp>It take two arguments whose are :\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>include the thumbnail ?\u003C\u002Fstrong> (boolean) if true include the thumbnail in the returned datas\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>ID\u003C\u002Fstrong> (integer) for targeting images linked to a specific post\u003C\u002Fp>\n\u003Cp> 45,\u003Cbr \u002F>\n    ‘image1’ => 5,\u003Cbr \u002F>\n    ‘image2’ => 6,\u003Cbr \u002F>\n    ‘image3’ => 12,\u003Cbr \u002F>\n    ‘image6’ => 20,\u003Cbr \u002F>\n    ‘image7’ => 15\u003Cbr \u002F>\n);\u003C\u002Fp>\n\u003Cp>\u002F\u002FEmpty pictures ar not returned\u003C\u002Fp>\n\u003Cp>?>\u003C\u002Fp>\n\u003Ch3>get_images_src()\u003C\u002Fh3>\n\u003Cp>This function have to be used into a template file, or any function.\u003Cbr \u002F>\nIt return an array of URIs and dimension for the linked attachments’s, by order.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>It take three agruments whose are :\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>size\u003C\u002Fstrong> (string) the size to return\u003C\u002Fli>\n\u003Cli>\u003Cstrong>include the thumbnail ?\u003C\u002Fstrong> (boolean) if true include the thumbnail in the returned datas\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>ID\u003C\u002Fstrong> (integer) for targeting images linked to a specific post\u003C\u002Fp>\n\u003Cp> array(\u003Cbr \u002F>\n        [0] => ‘http:\u002F\u002Furl_of_the_medium_pict.jpg’,\u003Cbr \u002F>\n        [1] => 340,\u003Cbr \u002F>\n        [2] => 200,\u003Cbr \u002F>\n        [3] => false \u002F\u002FI’ve no idea what is it…\u003Cbr \u002F>\n    ),\u003Cbr \u002F>\n    ‘image2’ => array(\u003Cbr \u002F>\n        [0] => ‘http:\u002F\u002Furl_of_the_medium_second_pict.jpg’,\u003Cbr \u002F>\n        [1] => 340,\u003Cbr \u002F>\n        [2] => 200,\u003Cbr \u002F>\n        [3] => false \u002F\u002FI’ve no idea what is it…\u003Cbr \u002F>\n    )\u003Cbr \u002F>\n);\u003C\u002Fp>\n\u003Cp>?>\u003C\u002Fp>\n\u003Ch3>get_multi_images_src()\u003C\u002Fh3>\n\u003Cp>Same as get_image_src(), but return two sizes for all the pictures.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>It take for agruments whose are :\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>size\u003C\u002Fstrong> (string) the size to return\u003C\u002Fli>\n\u003Cli>\u003Cstrong>size2\u003C\u002Fstrong> (string) another size to return\u003C\u002Fli>\n\u003Cli>\u003Cstrong>include the thumbnail ?\u003C\u002Fstrong> (boolean) if true include the thumbnail in the returned datas\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>ID\u003C\u002Fstrong> (integer) for targeting images linked to a specific post\u003C\u002Fp>\n\u003Cp> array(\u003Cbr \u002F>\n        [0] => array(\u003Cbr \u002F>\n            [0] => ‘http:\u002F\u002Furl_of_the_medium_pict.jpg’,\u003Cbr \u002F>\n            [1] => 340,\u003Cbr \u002F>\n            [2] => 200,\u003Cbr \u002F>\n            [3] => false \u002F\u002FI’ve no idea what is it…\u003Cbr \u002F>\n        ),\u003Cbr \u002F>\n        [1] => array(\u003Cbr \u002F>\n            [0] => ‘http:\u002F\u002Furl_of_the_full_pict.jpg’,\u003Cbr \u002F>\n            [1] => 1020,\u003Cbr \u002F>\n            [2] => 600,\u003Cbr \u002F>\n            [3] => false \u002F\u002FI’ve no idea what is it…\u003Cbr \u002F>\n        ),\u003Cbr \u002F>\n    ),\u003Cbr \u002F>\n    ‘image2’ => array(\u003Cbr \u002F>\n        [0] => array(\u003Cbr \u002F>\n            [0] => ‘http:\u002F\u002Furl_of_the_medium_second_pict.jpg’,\u003Cbr \u002F>\n            [1] => 340,\u003Cbr \u002F>\n            [2] => 200,\u003Cbr \u002F>\n            [3] => false \u002F\u002FI’ve no idea what is it…\u003Cbr \u002F>\n        ),\u003Cbr \u002F>\n        [1] => array(\u003Cbr \u002F>\n            [0] => ‘http:\u002F\u002Furl_of_the_second_full_pict.jpg’,\u003Cbr \u002F>\n            [1] => 1020,\u003Cbr \u002F>\n            [2] => 600,\u003Cbr \u002F>\n            [3] => false \u002F\u002FI’ve no idea what is it…\u003Cbr \u002F>\n        )\u003Cbr \u002F>\n    )\u003Cbr \u002F>\n);\u003Cbr \u002F>\n\u002F\u002FEmpty pictures ar not returned\u003C\u002Fp>\n\u003Cp>?>\u003C\u002Fli>\n\u003C\u002Fol>\n","Add a multi-image metabox to your posts, pages and custom post types",7000,20181,98,11,"2017-11-28T19:40:00.000Z","3.5.2","3.0",[21,71,72,73,74],"metabox","multiple","multiple-post-thumbnail","pictures","http:\u002F\u002Fwabeo.fr","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmulti-image-metabox.zip",{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":85,"downloaded":86,"rating":87,"num_ratings":13,"last_updated":88,"tested_up_to":89,"requires_at_least":90,"requires_php":17,"tags":91,"homepage":17,"download_link":96,"security_score":11,"vuln_count":97,"unpatched_count":26,"last_vuln_date":98,"fetched_at":28},"acme-fix-images","Acme Fix Images – Regenerate Thumbnails","2.0.4","Acme Themes","https:\u002F\u002Fprofiles.wordpress.org\u002Facmethemes\u002F","\u003Cp>Regenerate Thumbnails – Acme Fix Images is a handy WordPress plugin designed to resolve issues related to image thumbnail sizes. If you’ve recently adjusted image sizes in your Media Settings or encountered display problems due to improper thumbnail sizes, this plugin can help you ensure consistency and proper display of images across your website.\u003C\u002Fp>\n\u003Col>\n\u003Cli>Log in to your WordPress admin panel.\u003C\u002Fli>\n\u003Cli>Navigate to Appearance => Acme Fix Images.\u003C\u002Fli>\n\u003Cli>Select the image sizes and options you wish to fix.\u003C\u002Fli>\n\u003Cli>Click “Fix All Images” to regenerate thumbnails according to your chosen sizes.\u003C\u002Fli>\n\u003C\u002Fol>\n","Fix image sizes after you have changed image sizes from Media Settings. Ensure your images display consistently across your website.",4000,97589,50,"2025-04-18T07:45:00.000Z","6.8.5","5.0",[92,93,94,95],"featured-images","image-crop","post-thumbnails","regenerate-thumbnails","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Facme-fix-images.2.0.4.zip",1,"2023-11-15 00:00:00",{"slug":100,"name":101,"version":102,"author":103,"author_profile":104,"description":105,"short_description":106,"active_installs":107,"downloaded":108,"rating":109,"num_ratings":110,"last_updated":111,"tested_up_to":112,"requires_at_least":113,"requires_php":17,"tags":114,"homepage":117,"download_link":118,"security_score":119,"vuln_count":97,"unpatched_count":97,"last_vuln_date":120,"fetched_at":28},"thumbnail-editor","Thumbnail Editor","2.3.3","aviplugins.com","https:\u002F\u002Fprofiles.wordpress.org\u002Favimegladon\u002F","\u003Cp>When images are uploaded in the WordPress Media library section WordPress creates some thumbnails of that image. The size of these thumbnail images can be mentioned in the \u003Ccode>Settings->Media\u003C\u002Fcode> section.\u003C\u002Fp>\n\u003Cp>But there can be some big issues with these thumbnails. WordPress Crop\u002FResize these images dynamically when you upload an image. When thumbnails are CROPPED it is very much possible that it gets CROPPED from the wrong section of the uploaded image. This can produce some BAD looking thumbnail images. Which doesn’t look good in frontend of the site. This plugin will allow you to update those thumbnail images manually. The thumbnail image edit interface that this plugin provides is simple and very easy to use.\u003C\u002Fp>\n\u003Cp>The shortcodes and functions are provided in the image editor page of the plugin.\u003C\u002Fp>\n\u003Cp>Image editor links can be found in WordPress Media Library.\u003C\u002Fp>\n\u003Cp>Image files that can be edited are \u003Cstrong>JPG, JPEG, GIF and PNG\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>Thumbnail Editor PRO\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.aviplugins.com\u002Fthumbnail-editor-pro\u002F\" rel=\"nofollow ugc\">Checkout the PRO version features here\u003C\u002Fa>. PRO version costs only \u003Cstrong>USD 2.00\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Support for \u003Cstrong>Amazon S3 Bucket\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Completely replace thumbnail images and upload new ones.\u003C\u002Fli>\n\u003Cli>Add \u003Cstrong>Custom Texts\u003C\u002Fstrong> to thumbnail images. You can add signature in the images.\u003C\u002Fli>\n\u003Cli>Different Text \u003Cstrong>Fonts\u003C\u002Fstrong> are available to choose from.\u003C\u002Fli>\n\u003Cli>Add Image \u003Cstrong>Effects\u003C\u002Fstrong> like \u003Cstrong>Gray Scale, Sketch, Negative\u003C\u002Fstrong> or Add \u003Cstrong>Color Effects\u003C\u002Fstrong> to the Image.\u003C\u002Fli>\n\u003Cli>Add image \u003Cstrong>Borders\u003C\u002Fstrong> with different border colors.\u003C\u002Fli>\n\u003Cli>Option to \u003Cstrong>Revert Back\u003C\u002Fstrong> the changes you made in the image.\u003C\u002Fli>\n\u003C\u002Ful>\n","Manually Crop and Resize thumbnail images that are uploaded in the Media section.",600,24497,60,5,"2023-03-23T16:58:00.000Z","6.1.10","2.0.2",[19,21,115,116,23],"media","thumb","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fthumbnail-editor\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fthumbnail-editor.2.3.3.zip",63,"2025-06-27 00:00:00",{"slug":122,"name":123,"version":124,"author":125,"author_profile":126,"description":127,"short_description":128,"active_installs":129,"downloaded":130,"rating":131,"num_ratings":132,"last_updated":133,"tested_up_to":134,"requires_at_least":135,"requires_php":136,"tags":137,"homepage":142,"download_link":143,"security_score":11,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"recent-posts-widget-with-thumbnails","Recent Posts Widget With Thumbnails","7.1.1","Kybernetik Services","https:\u002F\u002Fprofiles.wordpress.org\u002Fkybernetikservices\u002F","\u003Cp>List the most recent posts with post titles, thumbnails, excerpts, authors, categories, dates and more!\u003C\u002Fp>\n\u003Cp>Although the plugin is built only for widget areas users reported that it \u003Cstrong>works in Elementor\u003C\u002Fstrong> and \u003Cstrong>works in Oxygen\u003C\u002Fstrong>. Whether it runs in other page builders is unknown. Please let me know in which \u003Cstrong>page builder\u003C\u002Fstrong> you were able to use the plugin successfully.\u003C\u002Fp>\n\u003Cp>The plugin does not collect any personal data, so it is \u003Cstrong>ready for EU General Data Protection Regulation (GDPR) compliance\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>Lightweight, simple and effective\u003C\u002Fh4>\n\u003Cp>No huge widget with hundreds of options. This plugin is based on the well-known WordPress default widget ‘Recent Posts’ and extended to display more information about the posts like e.g. thumbnails, excerpts and assigned categories. And it provides more options to build custom-taylored posts lists.\u003C\u002Fp>\n\u003Cp>The thumbnails will be built from the featured image of a post or of the first image in the post content. If there is neither a featured image nor a content image then you can define a default thumbnail.\u003C\u002Fp>\n\u003Cp>You can set the width and height of the thumbnails in the list. The thumbnails appear left-aligned to the post titles in left-to-right languages. In right-to-left languages they appear right-aligned.\u003C\u002Fp>\n\u003Ch4>What users wrote\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>“This plugin performs a simple task but one that I find to be invaluable.”\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fsimple-but-invaluable-plugin\u002F\" rel=\"ugc\">reviews\u003C\u002Fa> by funkster on July 1, 2025\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“I just want to say thank you for developing such a good plugin.”\u003C\u002Fstrong> in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fthanks-for-developing-such-a-great-plugin-4\u002F\" rel=\"ugc\">reviews\u003C\u002Fa> by modelaid on July 3, 2024\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“Excellent plugin!”\u003C\u002Fstrong> in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fexcellent-plugin-8567\u002F\" rel=\"ugc\">reviews\u003C\u002Fa> by mystnick on April 18, 2023\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“… one of the dynamic and smart, yet admin and user optimized widget plugins …”\u003C\u002Fstrong> in \u003Ca href=\"https:\u002F\u002Fwww.sktthemes.org\u002Fwordpress-plugins\u002Fadd-widgets-wordpress-website\u002F\" rel=\"nofollow ugc\">How to Add Widgets and Start Using Them in WordPress Website?\u003C\u002Fa> by SKT Posts Themes on September 3, 2020\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“بهترین افزونه های نمایش آخرین نوشته ها در وردپرس”\u003C\u002Fstrong> in \u003Ca href=\"https:\u002F\u002Fmodirwp.com\u002F%D8%A7%D9%81%D8%B2%D9%88%D9%86%D9%87-recent-posts-widget-with-thumbnails\u002F\" rel=\"nofollow ugc\">ابزارک آخرین نوشته وردپرس\u003C\u002Fa> by Ghodsi on December 16, 2019\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“Another good all around widget, suitable for most projects”\u003C\u002Fstrong> in \u003Ca href=\"https:\u002F\u002Fhowto-wordpress-tips.com\u002Ffree-wordpress-recent-posts-widget\u002F\" rel=\"nofollow ugc\">Free WordPress recent posts widget – Which one is the best?\u003C\u002Fa> on December 3, 2019\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“In just a few clicks, your website will look considerably more established and professional.”\u003C\u002Fstrong> in \u003Ca href=\"https:\u002F\u002Fblog.hubspot.com\u002Fwebsite\u002Fwordpress-thumbnail-plugins\" rel=\"nofollow ugc\">3 Best WordPress Thumbnail Plugins to Manage Images Perfectly\u003C\u002Fa> by HubSpot Staff on October 29, 2019\u003C\u002Fli>\n\u003Cli>\u003Cstrong>The best of the recent posts widgets\u003C\u002Fstrong> in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fthe-best-of-the-recent-posts-widget\u002F\" rel=\"ugc\">reviews\u003C\u002Fa> by noddemix on June 13, 2019\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Number 8\u003C\u002Fstrong> in \u003Ca href=\"https:\u002F\u002Fideiasdig.com\u002F14-plugins-para-otimizar-seu-site\u002F#8Recent_Posts_Widget_With_Thumbnails\" rel=\"nofollow ugc\">14 Plugins para Otimizar seu Site\u003C\u002Fa> by Ideias Dig on November 8, 2018\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“Truly EXCELLENT Plugin!”\u003C\u002Fstrong> in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Ftruly-excellent-plugin\u002F\" rel=\"ugc\">reviews\u003C\u002Fa> by dnuttal on October 11, 2018\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“Easier than making an egg, seriously.”\u003C\u002Fstrong> in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Feasier-than-making-an-egg-seriously\u002F\" rel=\"ugc\">reviews\u003C\u002Fa> by djackofall on October 2, 2017\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“This plugin is INCREDIBLE”\u003C\u002Fstrong> in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fdo-you-also-have-one-for-most-popular-posts\u002F\" rel=\"ugc\">reviews\u003C\u002Fa> by lucio7 on August 25, 2017\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Widgets Users Will Love\u003C\u002Fstrong> in \u003Ca href=\"https:\u002F\u002Fspeckyboy.com\u002Ffree-wordpress-widget-plugins\u002F\" rel=\"nofollow ugc\">10 Ultra-Useful Free WordPress Widget Plugins\u003C\u002Fa> by Eric Karkovack on June 16, 2017\u003C\u002Fli>\n\u003Cli>\u003Cstrong>listed\u003C\u002Fstrong> in \u003Ca href=\"https:\u002F\u002Fwpteamsupport.com\u002Fwordpress-plugins-engage-visitors\u002F\" rel=\"nofollow ugc\">20 WordPress Plugins that Steals Attention to Engage Visitors of Your Site\u003C\u002Fa> by WP Team Support on March 6, 2017\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Number 1\u003C\u002Fstrong> in \u003Ca href=\"https:\u002F\u002Fwww.nimbusthemes.com\u002F8-essential-wordpress-widgets-to-supercharge-your-website\u002F\" rel=\"nofollow ugc\">8 essential WordPress widgets to supercharge your website\u003C\u002Fa> by Rafay Ansari on January 31, 2017\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“Excellent (after trying a few)!”\u003C\u002Fstrong> in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fexcellent-after-trying-a-few\u002F\" rel=\"ugc\">reviews\u003C\u002Fa> by giorgissimo on January 6, 2017\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>What users filmed\u003C\u002Fh4>\n\u003Cp>Some users published video tutorials on YouTube:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=dKoqcLBHhkM\" rel=\"nofollow ugc\">Class 09 – Working with Plugins (Recent Posts Widget With Thumbnails)\u003C\u002Fa> by WordPress Learning Bangladesh on March 7, 2017\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=qS9WIeaMb6s\" rel=\"nofollow ugc\">Recent Posts Widget With Thumbnails Setup Tutorial – WordPress Lesson and Tip\u003C\u002Fa> by Making a Website on April 17, 2016\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fyoutu.be\u002Fdqzz8NZc99Q\" rel=\"nofollow ugc\">Add Recent Posts Widget with Thumbnail – WordPress\u003C\u002Fa> by eMediaCoach on August 15, 2015\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Options you can set\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Title of the widget\u003C\u002Fli>\n\u003Cli>Number of listed posts\u003C\u002Fli>\n\u003Cli>Open post links in new windows\u003C\u002Fli>\n\u003Cli>Different options for post order and sorting\u003C\u002Fli>\n\u003Cli>Hide the current post in list\u003C\u002Fli>\n\u003Cli>Show only sticky posts\u003C\u002Fli>\n\u003Cli>Hide sticky posts\u003C\u002Fli>\n\u003Cli>Keep sticky posts on top of the list if not hidden\u003C\u002Fli>\n\u003Cli>Hide post title\u003C\u002Fli>\n\u003Cli>Maximum length of post title\u003C\u002Fli>\n\u003Cli>Show post author name\u003C\u002Fli>\n\u003Cli>Label for the author names\u003C\u002Fli>\n\u003Cli>Show post categories\u003C\u002Fli>\n\u003Cli>Show post category names as links to their archives\u003C\u002Fli>\n\u003Cli>Label for categories\u003C\u002Fli>\n\u003Cli>Show post date\u003C\u002Fli>\n\u003Cli>Show post excerpt\u003C\u002Fli>\n\u003Cli>Show number of comments\u003C\u002Fli>\n\u003Cli>Excerpt length\u003C\u002Fli>\n\u003Cli>Signs after excerpt\u003C\u002Fli>\n\u003Cli>Ignore post excerpt field as excerpt source (builds excerpts only from the post content)\u003C\u002Fli>\n\u003Cli>Ignore post content as excerpt source (builds excerpts only from the excerpt fields)\u003C\u002Fli>\n\u003Cli>Show posts of selected categories (or of all categories)\u003C\u002Fli>\n\u003Cli>Show post thumbnail (featured image)\u003C\u002Fli>\n\u003Cli>Registered thumbnail dimensions\u003C\u002Fli>\n\u003Cli>Thumbnail width in px\u003C\u002Fli>\n\u003Cli>Thumbnail height in px\u003C\u002Fli>\n\u003Cli>Keep the aspect ratio of thumbnails\u003C\u002Fli>\n\u003Cli>Try to take the first post image as thumbnail\u003C\u002Fli>\n\u003Cli>Only use the first post image as thumbnail\u003C\u002Fli>\n\u003Cli>Use default thumbnail if no thumbnail is available\u003C\u002Fli>\n\u003Cli>Always use default thumbnail\u003C\u002Fli>\n\u003Cli>Default thumbnail URL\u003C\u002Fli>\n\u003Cli>Alternative text of the default thumbnail\u003C\u002Fli>\n\u003Cli>Omit all alternative texts of the thumbnails for a better accessibility\u003C\u002Fli>\n\u003Cli>Print slugs of post categories in class attribute of LI elements\u003C\u002Fli>\n\u003Cli>Print inline CSS instead of creating a CSS file\u003C\u002Fli>\n\u003Cli>No CSS generation at all\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Useful hints for developers: Supported Hooks\u003C\u002Fh4>\n\u003Cp>The plugin considers the output of actions hooked on:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Ccode>rpwwt_widget_posts_args\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cstrong>passed argument:\u003C\u002Fstrong> the query arguments as an array\u003C\u002Fli>\n\u003Cli>\u003Cstrong>expected return value:\u003C\u002Fstrong> an array of query arguments\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>widget_title\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cstrong>passed arguments:\u003C\u002Fstrong>\n\u003Col>\n\u003Cli>the widget title as a string\u003C\u002Fli>\n\u003Cli>the widget settings as an array\u003C\u002Fli>\n\u003Cli>the widget base ID as a string\u003C\u002Fli>\n\u003C\u002Fol>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>expected return value:\u003C\u002Fstrong> a string\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>rpwwt_excerpt_length\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cstrong>passed argument:\u003C\u002Fstrong> the maximum number of characters for the post excerpt as an integer\u003C\u002Fli>\n\u003Cli>\u003Cstrong>expected return value:\u003C\u002Fstrong> an integer\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>rpwwt_excerpt_more\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cstrong>passed argument:\u003C\u002Fstrong> the string to append after the post excerpt\u003C\u002Fli>\n\u003Cli>\u003Cstrong>expected return value:\u003C\u002Fstrong> a string\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>rpwwt_the_excerpt\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cstrong>passed arguments:\u003C\u002Fstrong>\n\u003Col>\n\u003Cli>the content of the post excerpt field as a string\u003C\u002Fli>\n\u003Cli>the post object\u003C\u002Fli>\n\u003C\u002Fol>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>expected return value:\u003C\u002Fstrong> a string\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>the_excerpt\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cstrong>passed argument:\u003C\u002Fstrong> the post excerpt as a string\u003C\u002Fli>\n\u003Cli>\u003Cstrong>expected return value:\u003C\u002Fstrong> a string\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>rpwwt_categories\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cstrong>passed argument:\u003C\u002Fstrong> the category list of each post as a string\u003C\u002Fli>\n\u003Cli>\u003Cstrong>expected return value:\u003C\u002Fstrong> a string\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>rpwwt_list_cats\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cstrong>passed arguments:\u003C\u002Fstrong>\n\u003Col>\n\u003Cli>the category name as a string\u003C\u002Fli>\n\u003Cli>the category as an array\u003C\u002Fli>\n\u003C\u002Fol>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>expected return value:\u003C\u002Fstrong> a string\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Useful hints for developers: Available CSS Selectors\u003C\u002Fh4>\n\u003Cp>To design the list and its items, you can use these CSS selectors:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>.rpwwt-widget: the element which contains the post list\n.rpwwt-widget ul: the list which contains the list items\n.rpwwt-widget ul li: the list item in the list\n.rpwwt-widget ul li.rpwwt-sticky: the list item of a sticky post\n.rpwwt-widget ul li a: link in the list\n.rpwwt-widget ul li a img: linked image\n.rpwwt-widget ul li a span.rpwwt-post-title: the post title\n.rpwwt-widget ul li div.rpwwt-post-author: the post author\n.rpwwt-widget ul li div.rpwwt-post-categories: the post category list\n.rpwwt-widget ul li div.rpwwt-post-date: the post date\n.rpwwt-widget ul li div.rpwwt-post-excerpt: the post excerpt\n.rpwwt-widget ul li div.rpwwt-post-excerpt .rpwwt-post-excerpt-more: the \"more\" text following the excerpt.\n.rpwwt-widget ul li div.rpwwt-post-comments-number: the number of comments\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Languages\u003C\u002Fh4>\n\u003Cp>The user interface is available in several languages.\u003C\u002Fp>\n\u003Cp>Starting from version 7.1.0 the handling for translations are moved to \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Frecent-posts-widget-with-thumbnails\u002F\" rel=\"nofollow ugc\">translate.wordpress.org\u003C\u002Fa>.\u003Cbr \u002F>\nPlease help to translate into more languages, or you can re-work on the current translations if you think it’s needed.\u003Cbr \u002F>\nIf you have done your translation, please leave a comment in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Frecent-posts-widget-with-thumbnails\" rel=\"ugc\">plugin’s support forum\u003C\u002Fa>. I’ll take care of the review and approval.\u003C\u002Fp>\n","List the most recent posts with post titles, thumbnails, excerpts, authors, categories, dates and more!",100000,3599279,96,212,"2025-12-01T17:12:00.000Z","6.9.4","4.6","5.2",[21,138,139,140,141],"posts-list","recent-posts","thumbnails","widget","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Frecent-posts-widget-with-thumbnails\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frecent-posts-widget-with-thumbnails.7.1.1.zip",{"attackSurface":145,"codeSignals":239,"taintFlows":366,"riskAssessment":414,"analyzedAt":430},{"hooks":146,"ajaxHandlers":223,"restRoutes":235,"shortcodes":236,"cronEvents":237,"entryPointCount":238,"unprotectedCount":238},[147,152,157,160,165,168,171,174,178,181,185,188,191,194,196,199,202,205,208,211,214,218,220],{"type":148,"name":149,"callback":149,"file":150,"line":151},"filter","image_size_names_choose","includes\\admin\\attachment.php",25,{"type":153,"name":154,"callback":154,"priority":155,"file":150,"line":156},"action","media_row_actions",999,27,{"type":148,"name":158,"callback":158,"priority":155,"file":150,"line":159},"attachment_fields_to_edit",29,{"type":148,"name":161,"callback":161,"priority":162,"file":163,"line":164},"plugin_action_links",10,"includes\\admin\\settings.php",31,{"type":153,"name":166,"callback":166,"file":163,"line":167},"admin_menu",33,{"type":153,"name":169,"callback":169,"file":163,"line":170},"admin_notices",45,{"type":153,"name":172,"callback":172,"file":163,"line":173},"shutdown",47,{"type":153,"name":175,"callback":175,"file":176,"line":177},"init","presswell-art-direction.php",61,{"type":153,"name":179,"callback":180,"file":176,"line":119},"plugins_loaded","load_plugin_textdomain",{"type":153,"name":182,"callback":183,"file":176,"line":184},"admin_enqueue_scripts","admin_enqueue_resources",65,{"type":153,"name":186,"callback":183,"file":176,"line":187},"elementor\u002Feditor\u002Fafter_enqueue_scripts",66,{"type":153,"name":189,"callback":189,"priority":162,"file":176,"line":190},"activated_plugin",68,{"type":153,"name":192,"callback":192,"priority":162,"file":176,"line":193},"deactivated_plugin",70,{"type":153,"name":169,"callback":169,"file":176,"line":195},72,{"type":148,"name":197,"callback":197,"file":176,"line":198},"query_vars",76,{"type":148,"name":200,"callback":200,"priority":155,"file":176,"line":201},"pre_handle_404",78,{"type":148,"name":203,"callback":203,"priority":155,"file":176,"line":204},"wp_get_attachment_metadata",82,{"type":148,"name":206,"callback":206,"priority":162,"file":176,"line":207},"intermediate_image_sizes",84,{"type":148,"name":209,"callback":209,"priority":162,"file":176,"line":210},"intermediate_image_sizes_advanced",86,{"type":153,"name":212,"callback":212,"priority":155,"file":176,"line":213},"upgrader_process_complete",90,{"type":153,"name":215,"callback":216,"priority":155,"file":176,"line":217},"_core_updated_successfully","core_updated_successfully",92,{"type":148,"name":203,"callback":203,"priority":155,"file":176,"line":219},831,{"type":153,"name":212,"callback":221,"priority":155,"file":176,"line":222},"presswell_art_direction_update_hook",1058,[224,228,231],{"action":225,"nopriv":226,"callback":227,"hasNonce":226,"hasCapCheck":226,"file":150,"line":164},"pwad_get_focal_point",false,"ajax_get_focal_point",{"action":229,"nopriv":226,"callback":230,"hasNonce":226,"hasCapCheck":226,"file":150,"line":167},"pwad_set_focal_point","ajax_set_focal_point",{"action":232,"nopriv":226,"callback":233,"hasNonce":226,"hasCapCheck":226,"file":150,"line":234},"pwad_clear_image_cache","ajax_clear_image_cache",35,[],[],[],3,{"dangerousFunctions":240,"sqlUsage":248,"outputEscaping":266,"fileOperations":97,"externalRequests":26,"nonceChecks":110,"capabilityChecks":26,"bundledLibraries":365},[241,245],{"fn":242,"file":163,"line":243,"context":244},"unserialize",402,"$hotspots = unserialize( $result['meta_value'] );",{"fn":242,"file":163,"line":246,"context":247},449,"'value' => unserialize( $result['meta_value'] ),",{"prepared":13,"raw":249,"locations":250},6,[251,255,258,260,262,264],{"file":252,"line":253,"context":254},"includes\\regenerator.php",77,"$wpdb->query() with variable interpolation",{"file":252,"line":256,"context":257},138,"$wpdb->get_results() with variable interpolation",{"file":252,"line":259,"context":254},141,{"file":252,"line":261,"context":254},144,{"file":252,"line":263,"context":257},163,{"file":252,"line":265,"context":254},178,{"escaped":162,"rawEcho":267,"locations":268},59,[269,271,273,275,277,278,279,281,283,285,287,289,291,293,294,296,298,299,301,303,305,307,309,311,313,315,317,318,320,321,323,324,325,327,329,331,332,333,335,336,337,339,340,342,343,345,346,347,349,351,352,353,354,355,356,358,359,361,363],{"file":150,"line":32,"context":270},"raw output",{"file":163,"line":272,"context":270},338,{"file":163,"line":274,"context":270},366,{"file":276,"line":249,"context":270},"includes\\admin\\templates\\fields\\sizes.php",{"file":276,"line":162,"context":270},{"file":276,"line":66,"context":270},{"file":276,"line":280,"context":270},12,{"file":276,"line":282,"context":270},13,{"file":276,"line":284,"context":270},14,{"file":276,"line":286,"context":270},24,{"file":276,"line":288,"context":270},32,{"file":276,"line":290,"context":270},38,{"file":276,"line":292,"context":270},44,{"file":276,"line":87,"context":270},{"file":276,"line":295,"context":270},56,{"file":276,"line":297,"context":270},64,{"file":276,"line":190,"context":270},{"file":276,"line":300,"context":270},71,{"file":276,"line":302,"context":270},75,{"file":276,"line":304,"context":270},95,{"file":276,"line":306,"context":270},103,{"file":276,"line":308,"context":270},109,{"file":276,"line":310,"context":270},115,{"file":276,"line":312,"context":270},121,{"file":276,"line":314,"context":270},127,{"file":276,"line":316,"context":270},135,{"file":276,"line":256,"context":270},{"file":276,"line":319,"context":270},142,{"file":276,"line":263,"context":270},{"file":322,"line":13,"context":270},"includes\\admin\\templates\\settings.php",{"file":322,"line":238,"context":270},{"file":322,"line":249,"context":270},{"file":322,"line":326,"context":270},7,{"file":322,"line":328,"context":270},15,{"file":322,"line":330,"context":270},23,{"file":322,"line":286,"context":270},{"file":322,"line":151,"context":270},{"file":322,"line":334,"context":270},26,{"file":322,"line":34,"context":270},{"file":322,"line":234,"context":270},{"file":322,"line":338,"context":270},36,{"file":322,"line":170,"context":270},{"file":322,"line":341,"context":270},46,{"file":322,"line":173,"context":270},{"file":322,"line":344,"context":270},48,{"file":322,"line":87,"context":270},{"file":322,"line":295,"context":270},{"file":322,"line":348,"context":270},57,{"file":322,"line":350,"context":270},58,{"file":322,"line":267,"context":270},{"file":322,"line":177,"context":270},{"file":322,"line":193,"context":270},{"file":322,"line":300,"context":270},{"file":322,"line":195,"context":270},{"file":322,"line":357,"context":270},73,{"file":322,"line":253,"context":270},{"file":252,"line":360,"context":270},99,{"file":252,"line":362,"context":270},180,{"file":176,"line":364,"context":270},1010,[],[367,383,398,406],{"entryPoint":368,"graph":369,"unsanitizedCount":97,"severity":382},"build_queue (includes\\regenerator.php:70)",{"nodes":370,"edges":380},[371,375],{"id":372,"type":373,"label":374,"file":252,"line":357},"n0","source","$_GET",{"id":376,"type":377,"label":378,"file":252,"line":360,"wp_function":379},"n1","sink","echo() [XSS]","echo",[381],{"from":372,"to":376,"sanitized":226},"medium",{"entryPoint":384,"graph":385,"unsanitizedCount":26,"severity":397},"admin_import_sizes (includes\\admin\\settings.php:275)",{"nodes":386,"edges":394},[387,390],{"id":372,"type":373,"label":388,"file":163,"line":389},"$_FILES",283,{"id":376,"type":377,"label":391,"file":163,"line":392,"wp_function":393},"file_get_contents() [SSRF\u002FLFI]",289,"file_get_contents",[395],{"from":372,"to":376,"sanitized":396},true,"low",{"entryPoint":399,"graph":400,"unsanitizedCount":26,"severity":397},"\u003Csettings> (includes\\admin\\settings.php:0)",{"nodes":401,"edges":404},[402,403],{"id":372,"type":373,"label":388,"file":163,"line":389},{"id":376,"type":377,"label":391,"file":163,"line":392,"wp_function":393},[405],{"from":372,"to":376,"sanitized":396},{"entryPoint":407,"graph":408,"unsanitizedCount":97,"severity":397},"\u003Cregenerator> (includes\\regenerator.php:0)",{"nodes":409,"edges":412},[410,411],{"id":372,"type":373,"label":374,"file":252,"line":357},{"id":376,"type":377,"label":378,"file":252,"line":360,"wp_function":379},[413],{"from":372,"to":376,"sanitized":226},{"summary":415,"deductions":416},"The \"presswell-art-direction\" plugin v1.1.12 presents a significant security risk primarily due to its unprotected entry points and lack of proper input sanitization and output escaping. The presence of three AJAX handlers without any authentication checks creates a wide attack surface, allowing unauthenticated users to trigger potentially harmful actions. Furthermore, the static analysis reveals the use of dangerous functions like `unserialize`, which can lead to remote code execution if fed with malicious serialized data. While the plugin has no recorded vulnerability history, this does not guarantee its safety, especially given the evident coding practices that are prone to vulnerabilities.\n\nThe taint analysis shows flows with unsanitized paths, indicating that user-supplied data might be processed in a way that could lead to security issues, although no critical or high severity flows were identified in this specific analysis. The low percentage of properly escaped output (14%) and the fact that 25% of SQL queries do not use prepared statements are also major concerns. The absence of capability checks on any entry points further exacerbates the risk. Overall, while the plugin has no known CVEs, the static analysis highlights serious architectural and coding flaws that require immediate attention to mitigate potential security breaches.",[417,419,421,423,426,428],{"reason":418,"points":328},"Unprotected AJAX handlers",{"reason":420,"points":162},"Dangerous function: unserialize",{"reason":422,"points":110},"SQL queries without prepared statements",{"reason":424,"points":425},"Low percentage of properly escaped output",8,{"reason":427,"points":162},"No capability checks on entry points",{"reason":429,"points":326},"Flows with unsanitized paths","2026-03-16T21:11:09.167Z",{"wat":432,"direct":441},{"assetPaths":433,"generatorPatterns":436,"scriptPaths":437,"versionParams":438},[434,435],"\u002Fwp-content\u002Fplugins\u002Fpresswell-art-direction\u002Fassets\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fpresswell-art-direction\u002Fassets\u002Fjs\u002Fadmin.js",[],[],[439,440],"presswell-art-direction\u002Fassets\u002Fcss\u002Fadmin.css?ver=","presswell-art-direction\u002Fassets\u002Fjs\u002Fadmin.js?ver=",{"cssClasses":442,"htmlComments":444,"htmlAttributes":445,"restEndpoints":447,"jsGlobals":448,"shortcodeOutput":450},[443],"pwad-admin-settings",[],[446],"data-pwad-trigger",[],[449],"PWAD_TRANSLATION_DATA",[]]