[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fhRZlN-Gk0xs3k0bGhDLEvVgu3-kc_ITsDVmDVEGpbU0":3},{"slug":4,"display_name":4,"profile_url":5,"plugin_count":6,"total_installs":7,"avg_security_score":8,"avg_patch_time_days":9,"trust_score":10,"computed_at":11,"plugins":12},"kylereicks","https:\u002F\u002Fprofiles.wordpress.org\u002Fkylereicks\u002F",2,70,85,30,84,"2026-05-19T18:48:10.621Z",[13,38],{"slug":14,"name":15,"version":16,"author":4,"author_profile":5,"description":17,"short_description":18,"active_installs":19,"downloaded":20,"rating":21,"num_ratings":22,"last_updated":23,"tested_up_to":24,"requires_at_least":25,"requires_php":26,"tags":27,"homepage":33,"download_link":34,"security_score":8,"vuln_count":35,"unpatched_count":35,"last_vuln_date":36,"fetched_at":37},"picturefillwp","Picturefill.WP","1.3.5","\u003Cp>\u003Cstrong>Note: This is an implementation of \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fscottjehl\u002Fpicturefill\u002Ftree\u002F1.2\" rel=\"nofollow ugc\">Picturefill.js version 1.2.x\u003C\u002Fa>. For an implementation of \u003Ca href=\"http:\u002F\u002Fscottjehl.github.io\u002Fpicturefill\u002F\" rel=\"nofollow ugc\">Picturefill.js 2.x\u003C\u002Fa>, see the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkylereicks\u002Fpicturefill.js.wp\u002Ftree\u002Fmaster\" rel=\"nofollow ugc\">master branch of the GitHub repository\u003C\u002Fa>.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Picturefill.WP is a simple and option-less plugin to serve HDPI and responsive images on a WordPress website.\u003C\u002Fp>\n\u003Cp>This plugin parses post and page content replacing images with a special syntax similar to the proposed syntax for the HTML5 \u003Ccode>picture\u003C\u002Fcode> element, then uses an adapted version of \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fscottjehl\u002Fpicturefill\" rel=\"nofollow ugc\">picturefill.js\u003C\u002Fa> to load the appropriate image to the browser.\u003C\u002Fp>\n\u003Ch3>Considerations before installing\u003C\u002Fh3>\n\u003Ch4>Slow Loading on Activation\u003C\u002Fh4>\n\u003Cp>The first time a page or post is loaded after activating Picturefill.WP, new \u003Ccode>@2x\u003C\u002Fcode> size images will need to be created for the images in the post or page content. This can take several seconds and will take longer on image heavy posts. Once these images are created, posts should load at least as fast or faster than they do without the plugin.\u003C\u002Fp>\n\u003Cp>If you are installing Picturefill.WP on a large and image heavy site, you may want to consider using another plugin like \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fregenerate-thumbnails\u002F\" rel=\"ugc\">Regenerate Thumbnails\u003C\u002Fa> to create the new image sizes for existing posts and pages.\u003C\u002Fp>\n\u003Ch4>500 or 504 server errors\u003C\u002Fh4>\n\u003Cp>These errors are related to the slow loading listed above. If the server reaches its timeout limit before it is finished processing new images, it will return a 500 or 504 error. Refreshing the page usually gives the server the time it needs to finish processing the images. On some image-heavy posts, it may take more than one refresh.\u003C\u002Fp>\n\u003Ch4>Image Sizes\u003C\u002Fh4>\n\u003Cp>By default, WordPress creates as many as 3 images of different sizes for each uploaded image (“large”, “medium”, and “thumbnail”), in addition to the “full” image size.\u003C\u002Fp>\n\u003Cp>This plugin adds responsive breakpoints based on the width of the image. The largest available image will display unless the browser width is less than the image width + 20px, in which case the next size down is displayed.\u003C\u002Fp>\n\u003Cp>To use this plugin most effectively, set the default image sizes (“large”, “medium”, and “thumbnail”) to reflect useful breakpoints in your theme design.\u003C\u002Fp>\n\u003Ch4>Errors and Warnings\u003C\u002Fh4>\n\u003Cp>As of version 1.3.3 Picturefill.WP suppresses errors and warnings in parsing the DOM. Errors and warnings can now be collected via the \u003Ccode>picturefill_wp_syntax_present_libxml_errors\u003C\u002Fcode> and \u003Ccode>picturefill_wp_get_images_libxml_errors\u003C\u002Fcode> filters.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('picturefill_wp_get_images_libxml_errors', 'handle_errors');\n\nfunction handle_errors($errors){\n  foreach($errors as $error){\n    \u002F\u002F Handle errors here.\n  }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Theme CSS\u003C\u002Fh4>\n\u003Cp>As described in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpicturefillwp\u002Fother_notes\u002F\" rel=\"ugc\">Details section\u003C\u002Fa>, the picturefill.js syntax uses nested \u003Ccode>span\u003C\u002Fcode> elements. If a theme’s CSS applies styles to un-classed \u003Ccode>span\u003C\u002Fcode> elements, you may notice some of these \u003Ccode>span\u003C\u002Fcode>s showing up unexpectedly on the page after activating Picturefill.WP. If possible, it is best to remove the offending code from your theme files, but adding the flowing to the bottom of your theme’s CSS file should also work to reset these styles.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>span[data-picture]{display:inline;margin:0;padding:0;border:0;}\nspan[data-picture] span{display:inline;margin:0;padding:0;border:0;}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Caching\u003C\u002Fh4>\n\u003Cp>To improve performance, especially in image heavy posts, Picturefill.WP uses transient caching. The cache will be refreshed automatically every time a post is updated or Picturefill.WP is updated. The cache can be manually refreshed by deactivating and reactivating Picturefill.WP from the plugins menu.\u003C\u002Fp>\n\u003Cp>If you suspect that Picturefill.WP’s caching is causing trouble with another plugin or theme feature, first try deactivating and reactivating Picturefill.WP. If problems persist, try lowering the priority for Picturefill.WP to be executed by adding the following to your functions.php file:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>remove_filter('the_content', array(Picturefill_WP::get_instance(), 'apply_picturefill_wp_to_the_content'), 11);\nadd_filter('the_content', array(Picturefill_WP::get_instance(), 'cache_picturefill_output'), 9999);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>If you still encounter problems with other plugins or theme features, you may want to disable caching all together. See the subsection on how to disable caching under the “Extending Picturefill.WP” section of the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkylereicks\u002Fpicturefill.js.wp\" rel=\"nofollow ugc\">GitHub repository\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Details\u003C\u002Fh3>\n\u003Cp>Picturefill.WP looks through \u003Ccode>the_content\u003C\u002Fcode> to find \u003Ccode>\u003Cimg>\u003C\u002Fcode> elements like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cimg class=\"alignnone size-large wp-image-123\" alt=\"Accessible alternate text for the image\" title=\"A title that displays on hover\" src=\"http:\u002F\u002Fsitename.com\u002Fwp-content\u002Fuploads\u002F2013\u002F4\u002Fimage-770x577.jpg\" width=\"770\" height=\"577\" \u002F>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>then replaces them with something like this (visit the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkylereicks\u002Fpicturefill.js.wp#details\" rel=\"nofollow ugc\">GitHub repository\u003C\u002Fa> for a breakdown of the syntax):\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cspan data-picture data-class=\"alignnone size-large wp-image-123\" dat-alt=\"Accessible alternate text for the image\" data-title=\"A title that displays on hover\" data-width=\"770\" data-height=\"577\">\n  \u003Cspan data-src=\"http:\u002F\u002Fsitename.com\u002Fwp-content\u002Fuploads\u002F2013\u002F4\u002Fimage-770x577.jpg\">\u003C\u002Fspan>\n  \u003Cspan data-src=\"http:\u002F\u002Fsitename.com\u002Fwp-content\u002Fuploads\u002F2013\u002F4\u002Fimage-150x150.jpg\" data-width=\"150\" data-height=\"150\" data-media=\"(min-width: 1px)\" class=\"picturefill-wp-source thumbnail\">\u003C\u002Fspan>\n  \u003Cspan data-src=\"http:\u002F\u002Fsitename.com\u002Fwp-content\u002Fuploads\u002F2013\u002F4\u002Fimage-300x300.jpg\" data-width=\"150\" data-height=\"150\" data-media=\"(min-width: 1px) and (-webkit-min-device-pixel-ratio: 1.5),(min-resolution: 144dpi),(min-resolution: 1.5dppx)\" class=\"picturefill-wp-source retina thumbnail\">\u003C\u002Fspan>\n  \u003Cspan data-src=\"http:\u002F\u002Fsitename.com\u002Fwp-content\u002Fuploads\u002F2013\u002F4\u002Fimage-400x300.jpg\" data-width=\"400\" data-height=\"300\" data-media=\"(min-width: 420px)\" class=\"picturefill-wp-source medium\">\u003C\u002Fspan>\n  \u003Cspan data-src=\"http:\u002F\u002Fsitename.com\u002Fwp-content\u002Fuploads\u002F2013\u002F4\u002Fimage-800x600.jpg\" data-width=\"400\" data-height=\"300\" data-media=\"(min-width: 420px) and (-webkit-min-device-pixel-ratio: 1.5),(min-resolution: 144dpi),(min-resolution: 1.5dppx)\" class=\"picturefill-wp-source retina medium\">\u003C\u002Fspan>\n  \u003Cspan data-src=\"http:\u002F\u002Fsitename.com\u002Fwp-content\u002Fuploads\u002F2013\u002F4\u002Fimage-770x577.jpg\" data-width=\"770\" data-height=\"577\" data-media=\"(min-width: 790px)\" class=\"picturefill-wp-source large\">\u003C\u002Fspan>\n  \u003Cspan data-src=\"http:\u002F\u002Fsitename.com\u002Fwp-content\u002Fuploads\u002F2013\u002F4\u002Fimage-1540x1155.jpg\" data-width=\"770\" data-height=\"577\" data-media=\"(min-width: 790px) and (-webkit-min-device-pixel-ratio: 1.5),(min-resolution: 144dpi),(min-resolution: 1.5dppx)\" class=\"picturefill-wp-source retina large\">\u003C\u002Fspan>\n  \u003Cnoscript>\n    \u003Cimg class=\"alignnone size-large wp-image-123\" alt=\"Accessible alternate text for the image\" title=\"A title that displays on hover\" src=\"http:\u002F\u002Fsitename.com\u002Fwp-content\u002Fuploads\u002F2013\u002F4\u002Fimage-770x577.jpg\" width=\"770\" height=\"577\" \u002F>\n  \u003C\u002Fnoscript>\n\u003C\u002Fspan>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The adapted version of picturefill.js then looks for the last \u003Ccode>data-src\u003C\u002Fcode> listed where the associated \u003Ccode>data-media\u003C\u002Fcode> matches the device and browser, and loads the appropriate image inside the matched \u003Ccode>\u003Cspan>\u003C\u002Fcode> element.\u003C\u002Fp>\n\u003Ch3>Extending Picturefill.WP\u003C\u002Fh3>\n\u003Cp>See the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkylereicks\u002Fpicturefill.js.wp#extending-picturefillwp\" rel=\"nofollow ugc\">Extending Picturefill.WP\u003C\u002Fa> subsection of the GitHub repository for a list of plugin hooks and examples.\u003C\u002Fp>\n\u003Ch3>Advanced Use\u003C\u002Fh3>\n\u003Ch3>Markup Tricks\u003C\u002Fh3>\n\u003Ch4>Limit Responsiveness\u003C\u002Fh4>\n\u003Cp>The responsiveness of an image can be limited by adding the class \u003Ccode>min-size-{image size}\u003C\u002Fcode>. For example, an image with the class \u003Ccode>min-size-medium\u003C\u002Fcode> will not load an image smaller than size \u003Ccode>medium\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch4>Skip Images\u003C\u002Fh4>\n\u003Cp>To skip images and load them normally add the attribute \u003Ccode>data-picturefill-wp-ignore\u003C\u002Fcode> to the \u003Ccode>\u003Cimg>\u003C\u002Fcode> tag.\u003C\u002Fp>\n\u003Ch3>Helper Functions\u003C\u002Fh3>\n\u003Cp>See the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkylereicks\u002Fpicturefill.js.wp#helper-functions\" rel=\"nofollow ugc\">helper functions\u003C\u002Fa> section of the documentation on GitHub.\u003C\u002Fp>\n","A Wordpress plugin to use picturefill.js to load responsive\u002Fretina images, mimicking the proposed HTML5 picture spec.",60,9633,100,7,"2014-08-03T22:15:00.000Z","3.9.40","3.2","",[28,29,30,31,32],"images","picturefill","responsive-images","retina","retina-images","http:\u002F\u002Fgithub.com\u002Fkylereicks\u002Fpicturefill.js.wp","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpicturefillwp.1.3.5.zip",0,null,"2026-04-16T10:56:18.058Z",{"slug":39,"name":40,"version":41,"author":4,"author_profile":5,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":35,"num_ratings":35,"last_updated":46,"tested_up_to":47,"requires_at_least":25,"requires_php":26,"tags":48,"homepage":54,"download_link":55,"security_score":8,"vuln_count":35,"unpatched_count":35,"last_vuln_date":36,"fetched_at":37},"headwp","Head.WP","2.0.3","\u003Cp>Head.js is a script to asynchronously load and manage dependencies of javascript and CSS assets.\u003C\u002Fp>\n\u003Cp>This plugin loads the scripts and styles enqueued in footer with the head.js loader. It does not include head.js’ feature detection.\u003C\u002Fp>\n\u003Cp>Head.js.wp assumes that scripts are loaded via \u003Ccode>wp_enqueue_script()\u003C\u002Fcode> and that any script enqueued in the \u003Ccode>\u003Chead>\u003C\u002Fcode> intends to be loaded before the rest of the page.\u003C\u002Fp>\n","Head.js is a script to asynchronously load and manage dependencies of javascript and CSS assets.",10,2675,"2014-02-18T00:00:00.000Z","3.7.41",[49,50,51,52,53],"async","asynchronous","headjs","javascript","script-loading","http:\u002F\u002Fgithub.com\u002Fkylereicks\u002Fhead.js.wp","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fheadwp.2.0.3.zip"]