[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fpBaY4Z_yW4199RVN6kl85B-WQkhN3zntxO_Ei1On0U4":3},{"slug":4,"display_name":5,"profile_url":6,"plugin_count":7,"total_installs":8,"avg_security_score":9,"avg_patch_time_days":10,"trust_score":11,"computed_at":12,"plugins":13},"markhowellsmead","Mark Howells-Mead","https:\u002F\u002Fprofiles.wordpress.org\u002Fmarkhowellsmead\u002F",10,1570,96,30,91,"2026-05-20T00:51:36.537Z",[14,39,56,75,90,105,121,139,156,174],{"slug":15,"name":16,"version":17,"author":5,"author_profile":6,"description":18,"short_description":19,"active_installs":20,"downloaded":21,"rating":22,"num_ratings":23,"last_updated":24,"tested_up_to":25,"requires_at_least":26,"requires_php":27,"tags":28,"homepage":34,"download_link":35,"security_score":22,"vuln_count":36,"unpatched_count":36,"last_vuln_date":37,"fetched_at":38},"mhm-menu-separator","Add menu separators to navigation","2.1.3","\u003Cp>Allow separator (\u003Ccode>HR\u003C\u002Fcode> \u002F line) and unlinked, text-only entries in WordPress’ classic navigation menus.\u003C\u002Fp>\n\u003Ch3>Block editor\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>This plugin does not support the Block Editor or the navigation block\u003C\u002Fstrong>. It is intended for use with the \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FWordPress_Menu_User_Guide\" rel=\"nofollow ugc\">classic menus\u003C\u002Fa> (e.g. \u003Ccode>wp_nav_menu\u003C\u002Fcode>).\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Upload the plugin folder to the \u003Ccode>\u002Fwp-content\u002Fplugins\u002F\u003C\u002Fcode> directory\u003C\u002Fli>\n\u003Cli>Activate the plugin through the ‘Plugins’ menu in WordPress\u003C\u002Fli>\n\u003Cli>Edit your menu in the “Appearance” section of WordPress Admin. Add a custom link entry, then use \u003Ccode>---\u003C\u002Fcode> (three dashes) as link text for a horizontal line or use \u003Ccode>#\u003C\u002Fcode> as a URL for an unlinked menu entry.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Filters\u003C\u002Fh3>\n\u003Cp>Version 2.1.0 of the plugin added two filters, with which developers can customise the output.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>mhm-menu-separator\u002Fseparator\u003C\u002Fcode> allows customisation of a separator output. Receives the arguments \u003Ccode>'\u003Chr class=\"mhm-menu-separator\">'\u003C\u002Fcode> (the uncustomised HTML) and \u003Ccode>$item\u003C\u002Fcode> (the menu item).\u003C\u002Fli>\n\u003Cli>\u003Ccode>mhm-menu-separator\u002Ftitle\u003C\u002Fcode> allows customisation of an unlinked menu entry. Receives the arguments \u003Ccode>$item->post_title\u003C\u002Fcode> (the plain, unlinked menu item text) and \u003Ccode>$item\u003C\u002Fcode> (the menu item).\u003C\u002Fli>\n\u003C\u002Ful>\n","Allow separator (HR \u002F line) and unlinked, text-only entries in WordPress' classic navigation menus.",900,15877,100,3,"2025-12-02T16:11:00.000Z","6.9.0","5.0","5.6",[29,30,31,32,33],"menu","navigation","sayhellogmbh","separator","wp_nav_menu","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmhm-menu-separator\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmhm-menu-separator.zip",0,null,"2026-04-16T10:56:18.058Z",{"slug":40,"name":41,"version":42,"author":5,"author_profile":6,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":22,"num_ratings":47,"last_updated":48,"tested_up_to":25,"requires_at_least":49,"requires_php":27,"tags":50,"homepage":54,"download_link":55,"security_score":22,"vuln_count":36,"unpatched_count":36,"last_vuln_date":37,"fetched_at":38},"mhm-list-postthumbnail","Add post thumbnail to wp-admin list view","1.3.4","\u003Cp>Adds a new column to the WordPress admin post list view, containing a preview of the post’s featured image (where available).\u003C\u002Fp>\n\u003Ch3>Hooks\u003C\u002Fh3>\n\u003Cp>Developers can use the \u003Ccode>mhm-list-postthumbnail\u002Fexclude_posttype\u003C\u002Fcode> filter to exclude the post thumbnail column from certain post types as required. The filter accepts and returns an array.\u003C\u002Fp>\n","Adds a new column to the WordPress admin post list view, containing a preview of the post's featured image (where available).",400,9794,4,"2025-12-02T16:15:00.000Z","4.0",[51,52,31,53],"admin","post-thumbnail","thumbnail","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmhm-list-postthumbnail\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmhm-list-postthumbnail.zip",{"slug":57,"name":58,"version":59,"author":5,"author_profile":6,"description":60,"short_description":61,"active_installs":22,"downloaded":62,"rating":36,"num_ratings":36,"last_updated":63,"tested_up_to":25,"requires_at_least":64,"requires_php":65,"tags":66,"homepage":72,"download_link":73,"security_score":22,"vuln_count":36,"unpatched_count":36,"last_vuln_date":37,"fetched_at":74},"mhm-forceimagemagick","Force use of ImageMagick image library","1.1.0","\u003Cp>Forces WordPress to use the ImageMagick image library. This plugin only instructs WordPress to use the ImageMagick library. It doesn’t change how (or when) WordPress generates images, and it doesn’t provide any additional functionality for creating or resizing images.\u003C\u002Fp>\n\u003Cp>If you need to know more about ImageMagick, then visit \u003Ca href=\"http:\u002F\u002Fwww.imagemagick.org\u002F\" rel=\"nofollow ugc\">the official website\u003C\u002Fa>. Full information about \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FPost_Thumbnails\" rel=\"nofollow ugc\">Post Thumbnails\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FImage_Size_and_Quality\" rel=\"nofollow ugc\">image size and quality\u003C\u002Fa> are in the WordPress Codex.\u003C\u002Fp>\n","Forces WordPress to use the ImageMagick image library. This plugin is no longer maintained.",13752,"2025-12-02T17:01:00.000Z","4.5","",[67,68,69,70,71],"exif","image-generation","imagemagick","images","iptc","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmhm-forceimagemagick\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmhm-forceimagemagick.1.1.0.zip","2026-04-06T09:54:40.288Z",{"slug":76,"name":77,"version":78,"author":5,"author_profile":6,"description":79,"short_description":80,"active_installs":22,"downloaded":81,"rating":22,"num_ratings":23,"last_updated":82,"tested_up_to":25,"requires_at_least":64,"requires_php":83,"tags":84,"homepage":88,"download_link":89,"security_score":22,"vuln_count":36,"unpatched_count":36,"last_vuln_date":37,"fetched_at":38},"shp-rssimage","Add post thumbnail image to RSS feed","0.2.1","\u003Cp>Adds the post thumbnail to the RSS feed using the XML tag specified in the \u003Ca href=\"http:\u002F\u002Fwww.rssboard.org\u002Fmedia-rss#media-content\" rel=\"nofollow ugc\">Media RSS Specification\u003C\u002Fa>, as well as an \u003Ccode>IMG\u003C\u002Fcode> tag in the RSS content.\u003C\u002Fp>\n","Adds the post thumbnail to the RSS feed using the XML tag specified in the Media RSS Specification, as well as an IMG tag in the RSS content.",2989,"2025-12-02T16:13:00.000Z","5.3",[85,86,87,31],"feed","image","rss","https:\u002F\u002Fgithub.com\u002FSayHelloGmbH\u002Fshp-rssimage","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fshp-rssimage.zip",{"slug":91,"name":92,"version":59,"author":5,"author_profile":6,"description":93,"short_description":94,"active_installs":95,"downloaded":96,"rating":36,"num_ratings":36,"last_updated":97,"tested_up_to":25,"requires_at_least":98,"requires_php":99,"tags":100,"homepage":103,"download_link":104,"security_score":22,"vuln_count":36,"unpatched_count":36,"last_vuln_date":37,"fetched_at":38},"add-exif-and-iptc-meta-data-to-attachment","Add EXIF and IPTC meta data to Attachment Post","\u003Cp>WordPress extracts image meta data from a file when it is uploaded and adds it to the newly created Attachment Post in the database. This Plugin extracts and saves a much wider range of EXIF and IPTC information than WordPress Core usually stores.\u003C\u002Fp>\n\u003Cp>This Plugin currently supports JPEG and WEBP files.\u003C\u002Fp>\n\u003Cp>This plugin does not output any data on the website or in the WordPress Admin area. If this is required, a developer will need to amend the Theme or Plugin which generates the HTML for the website.\u003C\u002Fp>\n\u003Cp>The Plugin does not add any information to Attachment Posts which have already been created. (The Plugin does, however, update the stored meta data when a new image is uploaded to an existing Attachment Post; for example when the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fenable-media-replace\u002F\" rel=\"ugc\">Enable Media Replace Plugin\u003C\u002Fa> is used.)\u003C\u002Fp>\n\u003Cp>The information is not visible in the Media editor, but is available to developers when using the \u003Ccode>wp_get_attachment_metadata\u003C\u002Fcode> function. The data is stored in a subset of the array returned by this function, within the array key \u003Ccode>shp_additional_metadata\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>e.g.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php\n$attachment_metadata = wp_get_attachment_metadata($attachment_id);\nvar_dump($attachment_metadata['shp_additional_metadata']);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Hooks\u003C\u002Fh3>\n\u003Cp>The data array can be manipulated using \u003Ccode>add_filter\u003C\u002Fcode> once it has been retrieved from the file, using the following hooks.\u003C\u002Fp>\n\u003Ch4>All additional data\u003C\u002Fh4>\n\u003Cp>All IPTC data which is added by the plugin.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php\napply_filters('shp_additional_metadata\u002Fiptc', $exif['iptc'], $source_path);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>IPTC data\u003C\u002Fh4>\n\u003Cp>All data which is added by the plugin.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php\napply_filters('shp_additional_metadata\u002Fall_exif', $exif, $source_path);\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Extends the attachment meta data to include a much wider range of EXIF and IPTC information when an image is uploaded. This plugin does not output any &hellip;",20,1847,"2025-12-02T16:09:00.000Z","5.2","7.3",[101,67,86,71,102],"attachment","upload","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadd-exif-and-iptc-meta-data-to-attachment\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadd-exif-and-iptc-meta-data-to-attachment.zip",{"slug":106,"name":107,"version":108,"author":5,"author_profile":6,"description":109,"short_description":110,"active_installs":7,"downloaded":111,"rating":36,"num_ratings":36,"last_updated":112,"tested_up_to":25,"requires_at_least":49,"requires_php":65,"tags":113,"homepage":119,"download_link":120,"security_score":22,"vuln_count":36,"unpatched_count":36,"last_vuln_date":37,"fetched_at":38},"mhm-catch-comment-spam","Simplest comment spam catcher","1.0.5","\u003Cp>Adds a hidden field to comment forms, which will subsequently be auto-filled by spam-submitting robots. If the form\u003Cbr \u002F>\nsubmission contains a value, the comment will not be saved, because only robots will see the field and fill it out.\u003C\u002Fp>\n\u003Cp>Simple!\u003C\u002Fp>\n\u003Cp>Any form which is processed using the hook \u003Ccode>comment_form_after_fields\u003C\u002Fcode> (building the form HTML) and \u003Ccode>preprocess_comment\u003C\u002Fcode>\u003Cbr \u002F>\n(for processing the form submission) will be extended with this functionality.\u003C\u002Fp>\n\u003Cp>This plugin doesn’t block or catch any form submissions which have been filled manually in a browser, so you may still\u003Cbr \u002F>\nreceive the occasional advertising or sales message as a post or page comment. However, blocking automatically-generated\u003Cbr \u002F>\nspam messages will reduce the number of unwanted messages greatly.\u003C\u002Fp>\n","Add a hidden “honeypot” field to comment forms, to help combat comment spam.",1958,"2025-12-02T17:09:00.000Z",[114,115,116,117,118],"comment-spam","comment_form_after_fields","form","preprocess_comment","spam","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmhm-catch-comment-spam\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmhm-catch-comment-spam.zip",{"slug":122,"name":123,"version":124,"author":5,"author_profile":6,"description":125,"short_description":126,"active_installs":7,"downloaded":127,"rating":36,"num_ratings":36,"last_updated":128,"tested_up_to":129,"requires_at_least":130,"requires_php":65,"tags":131,"homepage":136,"download_link":137,"security_score":138,"vuln_count":36,"unpatched_count":36,"last_vuln_date":37,"fetched_at":38},"mhm-extend-postdata","Extend Post Data","1.0.9","\u003Cp>Automatically extends Post and Page data with an array containing all of the extra meta data pertinent to the \u003Ccode>$post\u003C\u002Fcode> object.\u003C\u002Fp>\n","Extend Post and Page data with all related meta data.",1689,"2020-01-06T15:01:00.000Z","5.3.21","4.2",[132,133,134,135],"extend","meta","metadata","postdata","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmhm-extend-postdata\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmhm-extend-postdata.1.0.9.zip",85,{"slug":140,"name":141,"version":142,"author":5,"author_profile":6,"description":143,"short_description":144,"active_installs":7,"downloaded":145,"rating":36,"num_ratings":36,"last_updated":146,"tested_up_to":147,"requires_at_least":148,"requires_php":65,"tags":149,"homepage":154,"download_link":155,"security_score":22,"vuln_count":36,"unpatched_count":36,"last_vuln_date":37,"fetched_at":38},"mhm-lazyloadvideo","Lazy load video players","1.3.5","\u003Cp>** This plugin is no longer maintained. **\u003C\u002Fp>\n\u003Cp>Modifies the HTML output of any video players which have been embedded in the content area or in the site using the oEmbed technique. Any video player which is included on the page will only be loaded if\u002Fwhen it is\u002Fbecomes visible within the current browser window.\u003C\u002Fp>\n\u003Cp>This plugin relies on JavaScript in the frontend. The original player will be displayed (not lazy-loaded) if JavaScript is inactive on the page.\u003C\u002Fp>\n\u003Cp>Please note that this plugin will not work in server environments running PHP versions older than 5.3.\u003C\u002Fp>\n","Any video player which is included on the page will only be loaded if\u002Fwhen it is visible within the current browser window.",1514,"2025-12-02T17:07:00.000Z","4.9.29","4.6.0",[150,151,152,153],"lazy-load","performance","video","video-player","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmhm-lazyloadvideo\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmhm-lazyloadvideo.zip",{"slug":157,"name":158,"version":159,"author":5,"author_profile":6,"description":160,"short_description":161,"active_installs":7,"downloaded":162,"rating":22,"num_ratings":163,"last_updated":164,"tested_up_to":165,"requires_at_least":64,"requires_php":65,"tags":166,"homepage":172,"download_link":173,"security_score":138,"vuln_count":36,"unpatched_count":36,"last_vuln_date":37,"fetched_at":38},"redirect-multisite-user-to-their-own-site","Redirect multisite user to their own site (UNMAINTAINED)","1.1.2","\u003Cp>\u003Cstrong>THIS PLUGIN IS NO LONGER MAINTAINED.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>If the current user in a multisite environment accesses a subsite to which access has not been granted, then redirect the user back to their own site. If the user has been granted access to more than one site in the Multisite installation, then no redirect can occur. (Because there is no way of finding out which one is “correct”.)\u003C\u002Fp>\n\u003Ch3>Information for developers\u003C\u002Fh3>\n\u003Cp>There are three action hooks available to developers. You can use them, for example, to write a log file or notify an email address when an action is carried out.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>redirect-multisite-user-to-their-own-site\u002Fno-sites\u003C\u002Fcode> fires when the user is logged in but does not have specific access to any sites in the current Multisite installation. Receives the values \u003Ccode>$current_user\u003C\u002Fcode> (WordPress User object) and \u003Ccode>$current_site_id\u003C\u002Fcode> (integer) as attributes.\u003C\u002Fli>\n\u003Cli>\u003Ccode>redirect-multisite-user-to-their-own-site\u002Fredirecting\u003C\u002Fcode> fires immediately before the user is redirected to the appropriate site. Receives the values \u003Ccode>$current_user\u003C\u002Fcode> (WordPress User object), \u003Ccode>$current_site_id\u003C\u002Fcode> (integer) and \u003Ccode>$user_target_site->siteurl\u003C\u002Fcode> (the URL to which the user will be redirected) as attributes.\u003C\u002Fli>\n\u003Cli>\u003Ccode>redirect-multisite-user-to-their-own-site\u002Fnot-allowed\u003C\u002Fcode> fires when the user has authorized access to more than one site in the installation, and can therefore not be redirected. Receives the values \u003Ccode>$current_user\u003C\u002Fcode> (WordPress User object), \u003Ccode>$current_site_id\u003C\u002Fcode> (integer) and \u003Ccode>$user_sites\u003C\u002Fcode> (array) as attributes.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin requires PHP 5.3 or newer because it uses PHP namespaces.\u003C\u002Fp>\n","Redirect a multisite user to their own site.",2628,1,"2022-11-11T16:31:00.000Z","4.6.30",[167,168,169,170,171],"multisite","parse_request","redirect","user","wpmu","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fredirect-multisite-user-to-their-own-site\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fredirect-multisite-user-to-their-own-site.zip",{"slug":175,"name":176,"version":177,"author":5,"author_profile":6,"description":178,"short_description":179,"active_installs":7,"downloaded":180,"rating":22,"num_ratings":163,"last_updated":181,"tested_up_to":165,"requires_at_least":182,"requires_php":65,"tags":183,"homepage":187,"download_link":188,"security_score":138,"vuln_count":36,"unpatched_count":36,"last_vuln_date":37,"fetched_at":189},"update-post-with-exif-data","Update Post with EXIF data","1.3.1","\u003Cp>If the appropriate checkboxes are selected in the Post submit box when saving the Post, the plugin reads the EXIF data of the Post’s \u003Cem>Featured Image\u003C\u002Fem> and adds Post Tags and a custom meta value “\u003Cem>location\u003C\u002Fem>” containing the serialized GPS location data of the image.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>If the Post has no Featured Image, or if the Featured Image’s EXIF data is incomplete, then nothing happens.\u003C\u002Fli>\n\u003Cli>The EXIF data is read directly from the image file, not from a database entry.\u003C\u002Fli>\n\u003Cli>If standard values “GPSLongitude” and “GPSLatitude” are not available in the Featured Image’s EXIF data, the post will not be updated with the custom meta field. (A pre-existing value will not be deleted, if this happens.)\u003C\u002Fli>\n\u003Cli>When saving Post Tags, the standard taxonomy \u003Ccode>post_tag\u003C\u002Fcode> is set. If you need to modify this, for example in the case of a custom taxonomy, then you can use the filter hook \u003Ccode>update-post-with-exif-data\u002Fpost_taxonomy\u003C\u002Fcode> to change it.\u003C\u002Fli>\n\u003Cli>If you want to see the custom meta value containing serialized GPS location data in the WordPress backend, you’ll need to parse the data and add this field yourself. A good solution for this is the “Advanced Custom Fields” plugin by Elliot Condon, with field type “Google Map”.\u003C\u002Fli>\n\u003Cli>Developers: see the code for a WordPress action hook \u003Ccode>update-post-with-exif-data\u002Fno-gps\u003C\u002Fcode>, which fires in the event that there is no valid GPS data available in the Featured Image.\u003C\u002Fli>\n\u003C\u002Ful>\n","Reads in EXIF data of Post Thumbnail, then adds Post tags and a custom meta value containing the serialized GPS location data of the Post's Featu &hellip;",2588,"2016-09-30T09:46:00.000Z","4.3",[67,184,185,71,186],"geo","geoencoding","location","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fupdate-post-with-exif-data\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fupdate-post-with-exif-data.1.3.1.1.zip","2026-03-15T15:16:48.613Z"]