[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fJAC9IlKRQJ71sqOQixNfgTMhNeE4J08lGCcfk0x8AIk":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},"willnorris","Will Norris","https:\u002F\u002Fprofiles.wordpress.org\u002Fwillnorris\u002F",5,10630,94,2,96,"2026-04-04T15:08:40.455Z",[14,39,59,75,90],{"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":32,"download_link":33,"security_score":34,"vuln_count":35,"unpatched_count":36,"last_vuln_date":37,"fetched_at":38},"opengraph","Open Graph","2.0.2","\u003Cp>The \u003Ca href=\"https:\u002F\u002Fogp.me\u002F\" rel=\"nofollow ugc\">Open Graph protocol\u003C\u002Fa> enables any web page to become a rich object in a social graph.  Most notably, this allows for these pages to be used with Facebook’s \u003Ca href=\"https:\u002F\u002Fdevelopers.facebook.com\u002Fdocs\u002Freference\u002Fplugins\u002Flike\" rel=\"nofollow ugc\">Like Button\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fdevelopers.facebook.com\u002Fdocs\u002Freference\u002Fapi\u002F\" rel=\"nofollow ugc\">Graph API\u003C\u002Fa> as well as within Twitter posts.\u003C\u002Fp>\n\u003Cp>The Open Graph plugin inserts the Open Graph metadata into WordPress posts and pages, and provides a simple extension mechanism for other plugins and themes to override this data, or to provide additional Open Graph data.\u003C\u002Fp>\n\u003Cp>This plugin does not directly add social plugins like the Facebook Like Button to your pages (though they’re pretty simple to add).  It will however make your pages look great when shared using those kinds of tools.\u003C\u002Fp>\n","Adds Open Graph metadata to your posts and pages so that they look great when shared on sites like Facebook and Twitter.",10000,218990,86,13,"2025-12-07T17:38:00.000Z","6.9.4","2.3","",[29,30,15,31],"facebook","ogp","social","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fopengraph","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fopengraph.2.0.2.zip",99,1,0,"2024-06-04 00:00:00","2026-03-15T15:16:48.613Z",{"slug":40,"name":41,"version":42,"author":5,"author_profile":6,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":47,"num_ratings":48,"last_updated":49,"tested_up_to":25,"requires_at_least":50,"requires_php":51,"tags":52,"homepage":56,"download_link":57,"security_score":47,"vuln_count":36,"unpatched_count":36,"last_vuln_date":58,"fetched_at":38},"hum","Hum","1.3.6","\u003Cp>Hum is a personal URL shortener for WordPress, designed to provide short URLs to your personal content, both hosted on WordPress and elsewhere.  For example, rather than a long URL for a WordPress post such as \u003Ca href=\"http:\u002F\u002Fwillnorris.com\u002F2011\u002F01\u002Fhum-personal-url-shortener-wordpress\" rel=\"nofollow ugc\">http:\u002F\u002Fwillnorris.com\u002F2011\u002F01\u002Fhum-personal-url-shortener-wordpress\u003C\u002Fa>, you could have a short URL like \u003Ca href=\"http:\u002F\u002Fwillnorris.com\u002Fb\u002FFJ\" rel=\"nofollow ugc\">http:\u002F\u002Fwillnorris.com\u002Fb\u002FFJ\u003C\u002Fa>.  Additionally, if you have a custom domain for short URLs, you can shorten things further like \u003Ca href=\"http:\u002F\u002Fwjn.me\u002Fb\u002FFJ\" rel=\"nofollow ugc\">http:\u002F\u002Fwjn.me\u002Fb\u002FFJ\u003C\u002Fa>.  Once the plugin is enabled, the shortlink for a page or post can be found in the “Shortlink” item in the WordPress Admin Bar.\u003C\u002Fp>\n\u003Cp>WordPress post IDs are shortened using the \u003Ca href=\"http:\u002F\u002Fttk.me\u002Fw\u002FNewBase60\" rel=\"nofollow ugc\">NewBase60\u003C\u002Fa> encoding scheme which is specifically optimized for brevity and readability, with built-in error correction for commonly confused characters like ‘1’, ‘l’, and ‘I’.\u003C\u002Fp>\n\u003Cp>Hum is not designed as a general purpose URL shortener along the lines of \u003Ca href=\"http:\u002F\u002Fbit.ly\" rel=\"nofollow ugc\">http:\u002F\u002Fbit.ly\u003C\u002Fa> or \u003Ca href=\"http:\u002F\u002Fgoo.gl\" rel=\"nofollow ugc\">http:\u002F\u002Fgoo.gl\u003C\u002Fa>.  Rather, it is specifically intended as a personal shortener for your own content.\u003C\u002Fp>\n\u003Cp>Read more about the reasoning for a personal URL shortener at \u003Ca href=\"http:\u002F\u002Ftantek.com\u002F\" rel=\"nofollow ugc\">Tantek Celik\u003C\u002Fa>‘s page for \u003Ca href=\"http:\u002F\u002Fttk.me\u002Fw\u002FWhistle\" rel=\"nofollow ugc\">Whistle\u003C\u002Fa>, which served as the inspiration for Hum.\u003C\u002Fp>\n\u003Ch3>Developer Documentation\u003C\u002Fh3>\n\u003Ch3>Adding your Amazon Affiliate ID\u003C\u002Fh3>\n\u003Cp>If you’d like to include your Amazone Affiliate ID in the \u003Ccode>\u002Fi\u002F\u003C\u002Fcode> redirect URLs, implement the \u003Ccode>amazon_affiliate_id\u003C\u002Fcode> filter.  For example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('amazon_affiliate_id', fn() => \"willnorris-20\");\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Additional Local Types\u003C\u002Fh3>\n\u003Cp>Out of the box, Hum only registers the \u003Ccode>b\u003C\u002Fcode>, \u003Ccode>t\u003C\u002Fcode>, \u003Ccode>a\u003C\u002Fcode> and \u003Ccode>p\u003C\u002Fcode> prefix to be served locally by WordPress.  If you would like to register additional prefixes, implement the \u003Ccode>hum_local_types\u003C\u002Fcode> filter.  For example, to include ‘p’ as well for photos:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>function myplugin_hum_local_types( $types ) {\n  $types[] = 'p';\n  return $types;\n}\nadd_filter('hum_local_types', 'myplugin_hum_local_types');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This will tell Hum to serve any \u003Ccode>\u002Fp\u002F{id}\u003C\u002Fcode> URLs from WordPress.  Additionally, you’ll want to instruct Hum to use your prefix for that particular content type.  Here, we’re registering ‘p’ which is normally used for photos.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>function myplugin_hum_type_prefix( $prefix, $post_id ) {\n  $post = get_post( $post_id );\n\n  if ( $post->post_type ## 'attachment' &&\n       strpos($post->post_mime_type, 'image') =## 0 ) {\n    $prefix = 'p';\n  }\n\n  return $prefix;\n}\nadd_filter('hum_type_prefix', 'myplugin_hum_type_prefix', 10, 2);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Simple Redirect\u003C\u002Fh3>\n\u003Cp>You can redirect all traffic for a prefix using a single line of PHP my implementing the \u003Ccode>hum_redirect_base_{type}\u003C\u002Fcode> filter where \u003Ccode>{type}\u003C\u002Fcode> is the prefix to redirect.  For example, I redirect all \u003Ccode>\u002Fw\u002F\u003C\u002Fcode> URLs to wiki.willnorris.com using:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('hum_redirect_base_w', fn() => \"http:\u002F\u002Fwiki.willnorris.com\u002F\");\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Personal URL shortener for WordPress",600,18850,100,8,"2025-12-07T17:36:00.000Z","3.0","5.6",[53,54,55],"diso","shortlink","whistle","https:\u002F\u002Fgithub.com\u002Fpfefferle\u002Fwordpress-hum","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhum.1.3.6.zip",null,{"slug":60,"name":61,"version":62,"author":5,"author_profile":6,"description":63,"short_description":64,"active_installs":65,"downloaded":66,"rating":36,"num_ratings":36,"last_updated":67,"tested_up_to":68,"requires_at_least":69,"requires_php":27,"tags":70,"homepage":72,"download_link":73,"security_score":74,"vuln_count":36,"unpatched_count":36,"last_vuln_date":58,"fetched_at":38},"comment-saver","Comment Saver","1.6","\u003Cp>Comment Saver temporarily stores the content of comments in a browser cookie\u003Cbr \u002F>\njust in case something goes wrong while submitting the comment.  For example,\u003Cbr \u002F>\nif the user forgot to include their name and email address and those fields are\u003Cbr \u002F>\nrequired, the comment may be lost on some browsers.  When the user returns to\u003Cbr \u002F>\nthe comment form, Comment Saver will automatically populate the comment box if\u003Cbr \u002F>\nthe cookie is still set.  It will remove the temporary cookie once the comment\u003Cbr \u002F>\nhas been successfully submitted, or after one hour.\u003C\u002Fp>\n","Save comment content in a cookie in case something goes wrong while posting.",10,5241,"2023-06-24T01:07:00.000Z","6.2.9","2.8",[71],"comments","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fcomment-saver\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcomment-saver.1.6.zip",85,{"slug":76,"name":77,"version":78,"author":5,"author_profile":6,"description":79,"short_description":80,"active_installs":65,"downloaded":81,"rating":36,"num_ratings":36,"last_updated":27,"tested_up_to":82,"requires_at_least":27,"requires_php":27,"tags":83,"homepage":87,"download_link":88,"security_score":47,"vuln_count":36,"unpatched_count":36,"last_vuln_date":58,"fetched_at":89},"extended-profile","Extended Profile","trunk","\u003Cp>This plugin extends the standard WordPress profile to inclue additional\u003Cbr \u002F>\nattributes such as photo, organization, address, phone number, and others.  A\u003Cbr \u002F>\nuser’s entire profile can then be output as an \u003Ca href=\"http:\u002F\u002Fmicroformats.org\u002Fwiki\u002Fhcard\" rel=\"nofollow ugc\">hCard\u003C\u002Fa> on any page using the\u003Cbr \u002F>\n    profile shortcode, or with the provided widget.\u003C\u002Fp>\n","Extend the WordPress profile to include additional attributes, and output as hCard.",11262,"2.7",[84,85,86],"hcard","microformats","profile","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fextended-profile\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fextended-profile.zip","2026-03-15T10:48:56.248Z",{"slug":91,"name":92,"version":93,"author":5,"author_profile":6,"description":94,"short_description":95,"active_installs":65,"downloaded":96,"rating":36,"num_ratings":36,"last_updated":97,"tested_up_to":98,"requires_at_least":99,"requires_php":27,"tags":100,"homepage":101,"download_link":102,"security_score":74,"vuln_count":36,"unpatched_count":36,"last_vuln_date":58,"fetched_at":38},"microid","MicroID","1.1","\u003Cp>“MicroID enables anyone to claim verifiable ownership over content hosted\u003Cbr \u002F>\nanywhere on the web” (\u003Ca href=\"http:\u002F\u002Fmicroid.org\u002F\" rel=\"nofollow ugc\">microid.org\u003C\u002Fa>).  This plugin makes that easier by\u003Cbr \u002F>\ngenerating MicroIDs for you based on an identifier WordPress already has, or by\u003Cbr \u002F>\nan additional identifier you provide.\u003C\u002Fp>\n\u003Cp>Partially inspired by other MicroID plugins by \u003Ca href=\"http:\u002F\u002Fwww.richardkmiller.com\u002Fwp-microid\" rel=\"nofollow ugc\">Richard Miller\u003C\u002Fa> and \u003Ca href=\"http:\u002F\u002Feran.sandler.co.il\u002Fmicroid-wordpress-plugin\u002F\" rel=\"nofollow ugc\">Eran Sandler\u003C\u002Fa>.\u003C\u002Fp>\n","Add MicroIDs to your blog to enable ownership claims with third-parties.",2595,"2010-04-25T02:55:00.000Z","2.6.1","1.5",[91],"http:\u002F\u002Fwillnorris.com\u002Fprojects\u002Fwp-microid","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmicroid.1.1.zip"]