{"id":376,"date":"2014-01-15T15:13:04","date_gmt":"2014-01-15T15:13:04","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/wp-instagram-widget\/"},"modified":"2018-03-13T21:04:13","modified_gmt":"2018-03-13T21:04:13","slug":"wp-instagram-widget","status":"closed","type":"plugin","link":"https:\/\/id.wordpress.org\/plugins\/wp-instagram-widget\/","author":8212694,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.0.3","stable_tag":"2.0.3","tested":"4.9.29","requires":"4.4","requires_php":"","requires_plugins":"","header_name":"WP Instagram Widget","header_author":"Scott Evans","header_description":"","assets_banners_color":"d7eadd","last_updated":"2018-03-13 21:04:13","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/scottsweb\/wp-instagram-widget","header_author_uri":"https:\/\/scott.ee","rating":4.5,"author_block_rating":0,"active_installs":40000,"downloads":1644893,"num_ratings":0,"support_threads":6,"support_threads_resolved":3,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":[],"ratings":{"1":"5","2":"1","3":"2","4":"2","5":"46"},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":"1155549","resolution":"128x128","location":"assets"},"icon-256x256.png":{"filename":"icon-256x256.png","revision":"1155549","resolution":"256x256","location":"assets"}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":"1155549","resolution":"1544x500","location":"assets"},"banner-772x250.png":{"filename":"banner-772x250.png","revision":"1155549","resolution":"772x250","location":"assets"}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.0","2.0.1","2.0.2","2.0.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":"998543","resolution":"1","location":"assets"},"screenshot-2.png":{"filename":"screenshot-2.png","revision":"1155549","resolution":"2","location":"assets"}},"screenshots":{"1":"Instagram widget on the front end","2":"Instagram widget in the theme customiser"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[34791,311,2248,205,162],"plugin_category":[43,50,56],"plugin_contributors":[77921,77920],"plugin_business_model":[],"class_list":["post-376","plugin","type-plugin","status-closed","hentry","plugin_tags-hipster","plugin_tags-instagram","plugin_tags-photography","plugin_tags-photos","plugin_tags-widget","plugin_category-customization","plugin_category-media","plugin_category-social-and-sharing","plugin_contributors-codeforthepeople","plugin_contributors-scottsweb","plugin_committers-scottsweb"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/wp-instagram-widget_d7eadd.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/wp-instagram-widget\/assets\/screenshot-1.png?rev=998543","caption":"Instagram widget on the front end"},{"src":"https:\/\/ps.w.org\/wp-instagram-widget\/assets\/screenshot-2.png?rev=1155549","caption":"Instagram widget in the theme customiser"}],"raw_content":"<!--section=description-->\n<p>WP Instagram widget is a no fuss WordPress widget to showcase your latest Instagram pics. It does not require you to provide your login details or sign in via oAuth.<\/p>\n\n<p>The widget is built with the following philosophy:<\/p>\n\n<ul>\n<li>Use sensible and simple markup<\/li>\n<li>Provide no styles\/css - it is up to you to style the widget to your theme and taste<\/li>\n<li>Cache where possible - filters are provided to adjust cache timings<\/li>\n<li>Require little setup - avoid oAuth for example<\/li>\n<\/ul>\n\n<p><a href=\"http:\/\/scott.ee\/\" title=\"WordPress designer and developer\">a plugin by Scott Evans<\/a><\/p>\n\n<!--section=installation-->\n<p>To install this plugin:<\/p>\n\n<ol>\n<li>Upload the <code>wp-instagram-widget<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>That's it!<\/li>\n<\/ol>\n\n<p>Alternatively you can search for the plugin from your WordPress dashboard and install from there.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt>Installation Instructions<\/dt>\n<dd><p>To install this plugin:<\/p>\n\n<ol>\n<li>Upload the <code>wp-instagram-widget<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>That's it!<\/li>\n<\/ol>\n\n<p>Alternatively you can search for the plugin from your WordPress dashboard and install from there.<\/p><\/dd>\n<dt>Hooks &amp; Filters<\/dt>\n<dd><p>The plugin has five filters. The first allows you adjust that cache time for retrieving the images from Instagram:<\/p>\n\n<pre><code>add_filter('null_instagram_cache_time', 'my_cache_time');\n\nfunction my_cache_time() {\n    return HOUR_IN_SECONDS;\n}\n<\/code><\/pre>\n\n<p>The second allows you to filter video results from the widget:<\/p>\n\n<pre><code>add_filter('wpiw_images_only', '__return_true');\n<\/code><\/pre>\n\n<p>The rest allow you to add custom classes to the [ul] list container, each list item, link or image:<\/p>\n\n<pre><code>add_filter( 'wpiw_list_class', 'my_instagram_class' );\n\nadd_filter( 'wpiw_item_class', 'my_instagram_class' );\nadd_filter( 'wpiw_a_class', 'my_instagram_class' );\nadd_filter( 'wpiw_img_class', 'my_instagram_class' );\nadd_filter( 'wpiw_linka_class', 'my_instagram_class' );\n\nfunction my_instagram_class( $classes ) {\n    $classes = \"instagram-image\";\n    return $classes;\n}\n<\/code><\/pre>\n\n<p>In version 1.3 you also have two new hooks for adding custom output before and after the widget:<\/p>\n\n<pre><code>wpiw_before_widget\nwpiw_after_widget\n<\/code><\/pre>\n\n<p>In version 1.4 and above you can also customise the image loop completely by creating a <code>parts\/wp-instagram-widget.php<\/code> file in your theme.<\/p>\n\n<p>In version 1.9.6 you can now use a filter to change the location of your custom template part: <code>wpiw_template_part<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>New JSON on the Instagram end, fixes broken usernames<\/li>\n<li>Support same tag and username<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Use image sizes from JSON due to errors loading images<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Fix hashtag support<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Ability to track tags \/ hashtags instead of just usernames (e.g. #cheese)<\/li>\n<li>New filter for custom link class<\/li>\n<li>Bundle German language (props jensteichert)<\/li>\n<li>Other minor fixes and formatting <\/li>\n<\/ul>\n\n<h4>1.9.8<\/h4>\n\n<ul>\n<li>Return more items when using filter for images only<\/li>\n<\/ul>\n\n<h4>1.9.7<\/h4>\n\n<ul>\n<li>Fix double trailing slash on custom text link<\/li>\n<\/ul>\n\n<h4>1.9.6<\/h4>\n\n<ul>\n<li>Trailing slash all URLs to support Instagram app on iOS<\/li>\n<li>Support selective refresh in 4.5<\/li>\n<li>New filter for <code>wpiw_template_part<\/code><\/li>\n<\/ul>\n\n<h4>1.9.5<\/h4>\n\n<ul>\n<li>Another fix for image URL handling, I think we have all the edge cases now!<\/li>\n<\/ul>\n\n<h4>1.9.4<\/h4>\n\n<ul>\n<li>IMPORTANT: You must be on WordPress 4.4 or later to upgrade to this version of the plugin. This fixes a bug with PHP versions &lt; 5.4.7. If you are on a version of WordPress older than 4.4 and you notice images are not loading then I recommend rolling your version of the widget back to this version: https:\/\/github.com\/scottsweb\/wp-instagram-widget\/blob\/c66550eded59bd51f508f304a85a3e031ac4044c\/wp-instagram-widget.php<\/li>\n<\/ul>\n\n<h4>1.9.3<\/h4>\n\n<ul>\n<li>Fix issues introduced in the last version (apologies). Certain CDN URLs are still in use<\/li>\n<\/ul>\n\n<h4>1.9.2<\/h4>\n\n<ul>\n<li>Better handling of all image and video image URLs props @thegallagher<\/li>\n<\/ul>\n\n<h4>1.9.1<\/h4>\n\n<ul>\n<li>Fix bug with some image URLs<\/li>\n<\/ul>\n\n<h4>1.9<\/h4>\n\n<ul>\n<li>WordPress.com VIP checked<\/li>\n<li>Updated CDN matching to ensure correct image sizes are served at all times<\/li>\n<li>Shortened the transient key - should mean we bump into the character limit less often<\/li>\n<li>Remove use of <code>extract<\/code><\/li>\n<\/ul>\n\n<h4>1.8.1<\/h4>\n\n<ul>\n<li>Apologies for all the recent updates, all good things though!<\/li>\n<li>Update plugin text domain ready for translate.wordpress.org<\/li>\n<li>Introduce an 'original' image size if you want to use non-square originals<\/li>\n<li>Introduce new filter for <code>&lt;ul&gt;<\/code> class <code>wpiw_list_class<\/code><\/li>\n<\/ul>\n\n<h4>1.8<\/h4>\n\n<ul>\n<li>Bring back image captions<\/li>\n<li>Fix small PHP error in 1.7<\/li>\n<\/ul>\n\n<h4>1.7<\/h4>\n\n<ul>\n<li>Bring back image sizes<\/li>\n<li>Use thumbnails that are square (originals are in the data returned and can be used)<\/li>\n<li>Remove @ from usernames<\/li>\n<\/ul>\n\n<h4>1.6<\/h4>\n\n<ul>\n<li>Compatibility with 4.3<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Invalidate old transients<\/li>\n<\/ul>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>Remove null framework support<\/li>\n<li>Fix breaking change by Instagram whilst maintaining old style support<\/li>\n<li>Remove thumbnail size option<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Introduce class filters<\/li>\n<li>Only set a transient if images are returned<\/li>\n<li>Optional template part for complete output control<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Force lowercase usernames<\/li>\n<li>Correct hook name<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Option to open links in new window<\/li>\n<li>Support for video items (with filter to disable this)<\/li>\n<li>New actions for adding custom output to the widget<\/li>\n<li>Support for https:\/\/<\/li>\n<li>Correctly escape attributes<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Change transient name due to data change<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Better error handling<\/li>\n<li>Encode emoji as they cause transient issues<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Fix issue with Instagram feed<\/li>\n<li>Add composer.json<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"WP Instagram widget is a no fuss WordPress widget to showcase your latest Instagram pics.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=376"}],"author":[{"embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/scottsweb"}],"wp:attachment":[{"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=376"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=376"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=376"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=376"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=376"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}