{"id":7895,"date":"2010-01-22T13:38:21","date_gmt":"2010-01-22T13:38:21","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/thinktwit\/"},"modified":"2021-08-17T20:09:06","modified_gmt":"2021-08-17T20:09:06","slug":"thinktwit","status":"publish","type":"plugin","link":"https:\/\/scn.wordpress.org\/plugins\/thinktwit\/","author":5723769,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.7.1","stable_tag":"trunk","tested":"5.8.13","requires":"3.2","requires_php":"","requires_plugins":"","header_name":"ThinkTwit","header_author":"Stephen Pickett","header_description":"","assets_banners_color":"b3dbea","last_updated":"2021-08-17 20:09:06","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/cgi-bin\/webscr?cmd=_s-xclick&hosted_button_id=B693F67QHAT8E","header_plugin_uri":"http:\/\/www.thepicketts.org\/thinktwit\/","header_author_uri":"http:\/\/www.thepicketts.org\/","rating":4.5,"author_block_rating":0,"active_installs":10,"downloads":14740,"num_ratings":4,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"stephen.pickett","date":"2010-01-22 13:48:42"}},"upgrade_notice":{"1.7.0":"<ul>\n<li>Security update: removed risk of potential cross site script security issues should bad actors who have admin access wish to hide threats in \nyour sites - highly recommend upgrading!<\/li>\n<\/ul>","1.6.5":"<ul>\n<li>Fixed an incompatibility with Wordpress 4.4<\/li>\n<\/ul>","1.6.0":"<ul>\n<li>Multiple bug fixes! Your cache will automatically be cleared on upgrade due to a database change.<\/li>\n<\/ul>","1.4.0":"<ul>\n<li>URGENT: Everyone MUST download this new version or ThinkTwit will cease to work COMPLETELY and FOREVER. Twitter have deprecated the v1.0 of \ntheir API and this upgrade fixes it. You MUST also follow the Installation instructions to get the update to work! - please read these before \nupgrading!<\/li>\n<\/ul>","1.3.9":"<ul>\n<li>HOTFIX: Everyone MUST download this hotfix or else ThinkTwit will gradually stop working (starting with italics all over the page) - Twitter \nhave deprecated the API used in ALL previous versions of ThinkTwit. After upgrading it is recommended to switch &quot;Update frequency&quot; to &quot;Live \n(Uncached)&quot; and to reload your site before switching it back<\/li>\n<\/ul>","1.3.6":"<ul>\n<li>Important fix to bug potentially deleting index.php in root - highly recommend upgrading!<\/li>\n<\/ul>","1.3.3":"<ul>\n<li>Now supports caching of avatars!<\/li>\n<\/ul>","1.3.0":"<ul>\n<li>Multiple fixes - NOTE: Please follow uninstallation instructions and install fresh, update shortcodes and Output Anywhere (PHP function call)!<\/li>\n<\/ul>","1.2.2":"<ul>\n<li>Multiple fixes - NOTE: please add max_days value in shortcodes and PHP function calls, and set setting within widget settings<\/li>\n<\/ul>","1.2.0":"<ul>\n<li>Most flexible version to date with correct visibility of functions to prevent overlap with other plugins - many other updates included<\/li>\n<\/ul>","1.1.0":"<ul>\n<li>Correctly uses Widget API to allow multiple instantiations - many other updates included<\/li>\n<\/ul>"},"ratings":{"1":0,"2":0,"3":"1","4":0,"5":"3"},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2543224,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2543224,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":2543224,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0"],"block_files":[],"assets_screenshots":{"screenshot-5.png":{"filename":"screenshot-5.png","revision":2584432,"resolution":"5","location":"plugin"},"screenshot-2.png":{"filename":"screenshot-2.png","revision":2584432,"resolution":"2","location":"plugin"},"screenshot-6.png":{"filename":"screenshot-6.png","revision":2584432,"resolution":"6","location":"plugin"},"screenshot-4.png":{"filename":"screenshot-4.png","revision":2584432,"resolution":"4","location":"plugin"},"screenshot-1.png":{"filename":"screenshot-1.png","revision":2584432,"resolution":"1","location":"plugin"},"screenshot-3.png":{"filename":"screenshot-3.png","revision":2584432,"resolution":"3","location":"plugin"}},"screenshots":{"1":"screenshot-1.png shows ThinkTwit working as a widget on the the ThinkTwit development homepage showing just usernames","2":"screenshot-2.png shows ThinkTwit working as a widget on the the ThinkTwit development homepage showing just hashtags","3":"screenshot-3.png shows ThinkTwit working as a widget on the the ThinkTwit development homepage filtered by usernames and hashtags","4":"screenshot-4.png shows ThinkTwit working via shortcode within a blog post on the the ThinkTwit development homepage","5":"screenshot-5.png shows ThinkTwit working via a Output Anywhere (PHP function call) in the header of the ThinkTwit development homepage","6":"screenshot-6.png shows the settings that can be configured within the widget"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[6179,1570,60816,161,159],"plugin_category":[52,56,59],"plugin_contributors":[86135],"plugin_business_model":[],"class_list":["post-7895","plugin","type-plugin","status-publish","hentry","plugin_tags-hashtag","plugin_tags-multiple","plugin_tags-thinktwit","plugin_tags-tweet","plugin_tags-twitter","plugin_category-performance","plugin_category-social-and-sharing","plugin_category-utilities-and-tools","plugin_contributors-stephenpickett","plugin_committers-stephenpickett"],"banners":{"banner":"https:\/\/ps.w.org\/thinktwit\/assets\/banner-772x250.png?rev=2543224","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/thinktwit\/assets\/icon-128x128.png?rev=2543224","icon_2x":"https:\/\/ps.w.org\/thinktwit\/assets\/icon-256x256.png?rev=2543224","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/thinktwit\/trunk\/screenshot-1.png?rev=2584432","caption":"screenshot-1.png shows ThinkTwit working as a widget on the the ThinkTwit development homepage showing just usernames"},{"src":"https:\/\/ps.w.org\/thinktwit\/trunk\/screenshot-2.png?rev=2584432","caption":"screenshot-2.png shows ThinkTwit working as a widget on the the ThinkTwit development homepage showing just hashtags"},{"src":"https:\/\/ps.w.org\/thinktwit\/trunk\/screenshot-3.png?rev=2584432","caption":"screenshot-3.png shows ThinkTwit working as a widget on the the ThinkTwit development homepage filtered by usernames and hashtags"},{"src":"https:\/\/ps.w.org\/thinktwit\/trunk\/screenshot-4.png?rev=2584432","caption":"screenshot-4.png shows ThinkTwit working via shortcode within a blog post on the the ThinkTwit development homepage"},{"src":"https:\/\/ps.w.org\/thinktwit\/trunk\/screenshot-5.png?rev=2584432","caption":"screenshot-5.png shows ThinkTwit working via a Output Anywhere (PHP function call) in the header of the ThinkTwit development homepage"},{"src":"https:\/\/ps.w.org\/thinktwit\/trunk\/screenshot-6.png?rev=2584432","caption":"screenshot-6.png shows the settings that can be configured within the widget"}],"raw_content":"<!--section=description-->\n<p>ThinkTwit is a highly customisable plugin that can output tweets from multiple users (something that very few other plugins can do successfully), #hashtag or keyword. It uses the Twitter Search JSON API v1.1 to access tweets which can be cached. It is very simple, yet flexible and easily customised. It can be placed on your Wordpress page simply through drag and drop on the Widgets interface or through the use of Shortcode or Output Anywhere (PHP function call). Supports i18n!<\/p>\n\n<p><strong>Support:<\/strong> http:\/\/www.thepicketts.org\/thinktwit\/ or on Twitter <strong>@stephenpickett<\/strong><\/p>\n\nFeatures:\n\n<ul>\n<li>Can be configured from Widgets settings (if displayed in sidebar)<\/li>\n<li>Can be implemented using shortcode or Output Anywhere (PHP function call)<\/li>\n<li>Contains default slimline CSS for integrated look and feel (can be turned off)<\/li>\n<li>Easy to configure and customise (through settings and CSS)<\/li>\n<li>Multiple instances can be deployed (like other widgets\/plugins)<\/li>\n<li>JavaScript is not required (unless no-caching is activated)<\/li>\n<li>Can specify multiple usernames<\/li>\n<li>Tweets can be filtered by #hashtag or keyword<\/li>\n<li>You can select to filter between an AND or OR filter to either show tweets only containing specified usernames and hashtags or any of them<\/li>\n<li>Can specify maximum number of tweets to display<\/li>\n<li>Can specify maximum number of days back to display<\/li>\n<li>Supports no-caching, to prevent caching of tweets by caching engines such as WP Super Cache<\/li>\n<li>Supports cURL as a fallback method, if necessary<\/li>\n<li>Supports optional caching of tweets and avatars<\/li>\n<li>Cache can be manually cleared and will automatically update if the cache is empty<\/li>\n<li>Can display the avatar of the Twitter user<\/li>\n<li>Output can be filtered (using apply_filters)<\/li>\n<li>Can optionally output \"Follow @username\" links<\/li>\n<li>Automated cleanup process that runs periodically according to user setting<\/li>\n<li>Internationalised using i18n meaning that if it isn't in your language it's easy to translate! See Other Notes for more details<\/li>\n<li>Gracefully deals with Twitter errors and adds them to the PHP error log<\/li>\n<li>Supports live updates of tweets when using no-caching (AJAX)<\/li>\n<\/ul>\n\nRequirements\/Restrictions:\n\n<ul>\n<li>Works with Wordpress 3.2 to 5.7.2, not tested with other versions nor re-tested on older versions than most current<\/li>\n<li>Can be installed using the widgets sidebar<\/li>\n<li>Can also be used via shortcode or Output Anywhere (PHP function call)<\/li>\n<li>Uses Twitter REST API v1.1 Application-only authentication and therefore requires an application key (see installation)<\/li>\n<\/ul>\n\n<p>I am looking for more people to translate ThinkTwit in to other languages, if you are interested please see \"Internationalisation (i18n)\" \nunder \"Other Notes\".<\/p>\n\n<h3>Uninstall<\/h3>\n\n<p>To uninstall simply deactivate and then delete through the Plugins admin interface. All options and files will be automatically removed.<\/p>\n\n<h3>Internationalisation (i18n)<\/h3>\n\n<p>Currently the following languages are supported:<\/p>\n\n<ul>\n<li>es_ES - Spanish in Spain (many thanks to <a href=\"http:\/\/www.webhostinghub.com\/\">Maria Ramos<\/a> for contributing)<\/li>\n<li>en_GB - English in Great Britain (default)<\/li>\n<li>sr_RS - Serbian in Serbia (many thanks to [Ogi Djuraskovic] (http:\/\/firstsiteguide.com\/) for contributing)<\/li>\n<\/ul>\n\n<p>If your language is not listed and you would like to translate in to your language please do the following:<\/p>\n\n<ol>\n<li>Navigate to thinktwit\/languages and take a copy of thinktwit.pot.<\/li>\n<li>Open in the language editor of your choice e.g. <a href=\"http:\/\/www.poedit.net\/\">POedit<\/a>.<\/li>\n<li>Translate each line until you've done them all.<\/li>\n<li>Save as thinktwit-lang_COUNTRY.po e.g. thinktwit-en_GB.po - see <a href=\"http:\/\/www.roseindia.net\/tutorials\/I18N\/locales-list.shtml\">List of all Locales<\/a> for more.<\/li>\n<li>Go to <a href=\"http:\/\/www.thepicketts.org\/contact\/\">Contact<\/a> and fill in the form appropriately.<\/li>\n<li>I will get in touch and ask that you respond with the translated file and a link to your site (if desired).<\/li>\n<\/ol>\n\n<!--section=installation-->\n<h4>Obtaining a Twitter authentication key<\/h4>\n\n<ol>\n<li><p>Go to https:\/\/dev.twitter.com\/apps\/new<\/p><\/li>\n<li><p>Login using your standard Twitter credentials<\/p><\/li>\n<li><p>Complete the form:<\/p><\/li>\n<\/ol>\n\n<ul>\n<li>Name: ThinkTwit - [site name]<\/li>\n<li>Description: ThinkTwit plugin<\/li>\n<li>Website: [url of your website]<\/li>\n<li>Callback URL: [url of your website]<\/li>\n<\/ul>\n\n<ol>\n<li>Make a note of your \"Consumer key\" and \"Consumer secret\"<\/li>\n<\/ol>\n\n<h4>Installing plugin<\/h4>\n\n<ol>\n<li><p>Unpack the zip file and upload the <code>thinktwit<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or download through the <code>Plugins<\/code> menu \nin WordPress<\/p><\/li>\n<li><p>Activate the plugin through the <code>Plugins<\/code> menu in WordPress<\/p><\/li>\n<li><p>Navigate to Settings-&gt;ThinkTwit from the Wordpress Dashboard<\/p><\/li>\n<li><p>Enter the \"Consumer key\" and \"Consumer secret\" obtained earlier and save your settings<\/p><\/li>\n<\/ol>\n\n<p>Updates are automatic. Click on <code>Upgrade Automatically<\/code> if prompted from the admin menu. If you ever have to manually \nupgrade, simply replace the files with those from the new version.<\/p>\n\n<h4>Configuring widget<\/h4>\n\n<ol>\n<li><p>Go to <code>Appearance<\/code> and then <code>Widgets<\/code> and drag <code>ThinkTwit<\/code> to your sidebar<\/p><\/li>\n<li><p>Fill in the options as required and then save<\/p><\/li>\n<\/ol>\n\n<h4>Configuring shortcode<\/h4>\n\n<p>ThinkTwit can be used in any page or post, or anywhere else configured to use shortcodes, using the following syntax:<\/p>\n\n<pre><code>[thinktwit\n  widget_id=0\n  usernames=\"stephenpickett\"\n  hashtags=\"thinktwit\"\n  hashtag_filter=0\n  username_suffix=\" said: \"\n  limit=5\n  max_days=7\n  update_frequency=-1\n  show_username=\"username\"\n  show_avatar=1\n  show_published=1\n  show_follow=1\n  links_new_window=1\n  no_cache=0\n  live_update_freq=0\n  debug=0\n  time_this_happened=\"This happened \"\n  time_less_min=\"less than a minute ago\"\n  time_min=\"about a minute ago\"\n  time_more_mins=\" minutes ago\"\n  time_1_hour=\"about an hour ago\"\n  time_2_hours=\"a couple of hours ago\"\n  time_precise_hours=\"about =x= hours ago\"\n  time_1_day=\"a day ago\"\n  time_2_days=\"almost 2 days ago\"\n  time_many_days=\" days ago\"\n  time_no_recent=\"There have been no recent tweets\"\n ]\n<\/code><\/pre>\n\n<h4>Configuring Output Anywhere<\/h4>\n\n<p>ThinkTwit can be called within templates and other areas where you can use PHP using the following syntax:<\/p>\n\n<pre><code>&lt;?php $args = array(\n    'widget_id'          =&gt; 0,\n    'usernames'          =&gt; \"stephenpickett\",\n    'hashtags'           =&gt; \"thinktwit\",\n    'hashtag_filter'     =&gt; 0,\n    'username_suffix'    =&gt; \" said: \",\n    'limit'              =&gt; 5,\n    'max_days'           =&gt; 7,\n    'update_frequency'   =&gt; 0,\n    'show_username'      =&gt; \"name\",\n    'show_avatar'        =&gt; 1,\n    'show_published'     =&gt; 1,\n    'show_follow'        =&gt; 1,\n    'links_new_window'   =&gt; 1,\n    'no_cache'           =&gt; 0,\n    'live_update_freq'   =&gt; 0,\n    'debug'              =&gt; 0,\n    'time_this_happened' =&gt; \"This happened \",\n    'time_less_min'      =&gt; \"less than a minute ago\",\n    'time_min'           =&gt; \"about a minute ago\",\n    'time_more_mins'     =&gt; \" minutes ago\",\n    'time_1_hour'        =&gt; \"about an hour ago\",\n    'time_2_hours'       =&gt; \"a couple of hours ago\",\n    'time_precise_hours' =&gt; \"about =x= hours ago\",\n    'time_1_day'         =&gt; \"a day ago\",\n    'time_2_days'        =&gt; \"almost 2 days ago\",\n    'time_many_days'     =&gt; \" days ago\",\n    'time_no_recent'     =&gt; \"There have been no recent tweets\");\n\n    echo ThinkTwit::output_anywhere($args); ?&gt;\n<\/code><\/pre>\n\n<h4>Shortcode\/Output Anywhere Parameters<\/h4>\n\n<p><strong>widget_id<\/strong>: <em>integer<\/em> - You should give this a unique id for caching or styling.<\/p>\n\n<p><strong>usernames<\/strong>: <em>string<\/em> - The list of Twitter usernames to output tweets for.<\/p>\n\n<p><strong>hashtags<\/strong>: <em>string<\/em> - The list of hashtags to output tweets for.<\/p>\n\n<p><strong>hashtag_filter<\/strong>: <em>string<\/em> - 1 indicates that usernames AND hashtags must both exist in a tweet, 0 indicates that either can exist.<\/p>\n\n<p><strong>username_suffix<\/strong>: <em>string<\/em> - The text that should appear after a username e.g. \" said: \".<\/p>\n\n<p><strong>limit<\/strong>: <em>int<\/em> - The maximum number of tweets to display.<\/p>\n\n<p><strong>max_days<\/strong>: <em>int<\/em> - The maximum age in days of the tweets to be displayed.<\/p>\n\n<p><strong>update_frequency<\/strong>: <em>int<\/em> - Minus 1 indicates live (uncached), minus 2 indicates paused, 0 indicates live (cached), and anything else \nindicates the number of hours between getting updates from Twitter.<\/p>\n\n<p><strong>show_username<\/strong>: <em>string<\/em> - None indicates no username should be shown, name indicates the user's full name should be shown and\nusername indicates the user's username should be shown.<\/p>\n\n<p><strong>show_avatar<\/strong>: <em>boolean<\/em> - Indicates whether the Twitter user's avatar should be displayed - 1 for true and 0 for false.<\/p>\n\n<p><strong>show_published<\/strong>: <em>boolean<\/em> - Indicates whether the time the tweet was made should be displayed e.g. \"This happened a day ago\" - 1 for true and 0 for false.<\/p>\n\n<p><strong>show_follow<\/strong>: <em>boolean<\/em> - Indicates whether or not to show a \"Follow @username\" link for each username.<\/p>\n\n<p><strong>links_new_window<\/strong>: <em>boolean<\/em> - Indicates whether links should be opened in a new window - 1 for true and 0 for false.<\/p>\n\n<p><strong>no_cache<\/strong>: <em>boolean<\/em> - Indicates whether or not to use no-caching - 1 for true and 0 for false.<\/p>\n\n<p><strong>live_update_freq<\/strong>: <em>int<\/em> - The frequency of live updates (zero for off).<\/p>\n\n<p><strong>debug<\/strong>: <em>boolean<\/em> - Indicates whether to turn on debugging mode - 1 for true and 0 for false.<\/p>\n\n<p><strong>time_this_happened<\/strong>: <em>string<\/em> - Time prefix (default: \"This happened\").<\/p>\n\n<p><strong>time_less_min<\/strong>: <em>string<\/em> - Time less than 1 minute (default: \"less than a minute ago\").<\/p>\n\n<p><strong>time_min<\/strong>: <em>string<\/em> - Time approximately 1 minute ago (default: \"about a minute ago\").<\/p>\n\n<p><strong>time_more_mins<\/strong>: <em>string<\/em> - Time more than 1 minute ago (default: \" minutes ago\").<\/p>\n\n<p><strong>time_1_hour<\/strong>: <em>string<\/em> - Time approximately 1 hour ago (default: \"about an hour ago\").<\/p>\n\n<p><strong>time_2_hours<\/strong>: <em>string<\/em> - Time approximately 2 hours ago (default: \"a couple of hours ago\").<\/p>\n\n<p><strong>time_precise_hours<\/strong>: <em>string<\/em> - Time more than 2 hours ago (default: \"about =x= hours ago\"). NOTE: =x= should be used to insert the number of hours.<\/p>\n\n<p><strong>time_1_day<\/strong>: <em>string<\/em> - Time approximately 1 day ago (default: \"a day ago\").<\/p>\n\n<p><strong>time_2_days<\/strong>: <em>string<\/em> - Time approximately 2 days ago (default: \"almost 2 days ago\").<\/p>\n\n<p><strong>time_many_days<\/strong>: <em>string<\/em> - Time more than 2 days ago (default: \" days ago\").<\/p>\n\n<p><strong>time_no_recent<\/strong>: <em>string<\/em> - Output when there are no tweets to display (default: \"There have been no recent tweets\").<\/p>\n\n<p>NOTE: You can leave out any parameter to use the default, but be aware to change the unique id if you are using Output Anywhere in more than one place.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id='when%20i%20add%20the%20widget%20i%20cannot%20expand%20the%20menus%2C%20what%20is%20wrong%3F'><h3>When I add the widget I cannot expand the menus, what is wrong?<\/h3><\/dt>\n<dd><p>There is a known issue where the ThinkTwit sub menus will not expand after you add a widget for the first time. Please simply reload the widgets\npage and it will now work going forwards.<\/p><\/dd>\n<dt id='how%20many%20tweets%20will%20be%20shown%3F'><h3>How many tweets will be shown?<\/h3><\/dt>\n<dd><p>This is determined by your settings within the widget or your custom call. The default is set to 5.<\/p><\/dd>\n<dt id='how%20long%20back%20will%20tweets%20be%20shown%20for%3F'><h3>How long back will tweets be shown for?<\/h3><\/dt>\n<dd><p>If using the update frequency \"Live (uncached)\" ThinkTwit will show tweets that have occurred as far back as \"max days\" (up to the last 7 \ndays, due to restrictions in the Twitter API). However, any other option will utilise ThinkTwit's own cache and will therefore display anything \nwithin the cache (up to \"max days\"). The exception to this is when the \"Paused\" option is selected - this will retain tweets (and display those \ntweets) indefinitely (until the update frequency is changed from \"Paused\").<\/p><\/dd>\n<dt id='what%20will%20happen%20if%20i%20haven%27t%20tweeted%20in%20the%20last%207%20days%3F'><h3>What will happen if I haven't tweeted in the last 7 days?<\/h3><\/dt>\n<dd><p>If you aren't caching tweets then a message will be shown stating: \"There have been no tweets for the past 7 days\", but if you are caching \ntweets then it will simply show the tweets stored in the cache, even if they are older than 7 days. This message can be customised within the\nsettings.<\/p><\/dd>\n<dt id='how%20can%20i%20style%20thinktwit%3F'><h3>How can I style ThinkTwit?<\/h3><\/dt>\n<dd><p>ThinkTwit uses the widget API so should be styled correctly by your theme. It has some default CSS but you may, however, wish to turn this\noff (in the ThinkTwit Settings) and add your own. If so you should find the following information handy:<\/p>\n\n<ul>\n<li>ThinkTwit essentially outputs tweets as a list<\/li>\n<li>The list container can be accessed using <code>ol.thinkTwitTweets<\/code><\/li>\n<li>All tweets can be accessed using <code>ol.thinkTwitTweets li.thinkTwitTweet<\/code><\/li>\n<li>Individual tweets can be accessed using <code>ol.thinkTwitTweets #tweet-n<\/code> where n is the number of the tweet<\/li>\n<li>Odd and even tweets can be accessed using <code>ol.thinkTwitTweets li.thinkTwitOdd<\/code> and <code>ol.thinkTwitTweets li.thinkTwitEven<\/code> accordingly<\/li>\n<li>The author within a tweet can be accessed using <code>ol.thinkTwitTweets li.thinkTwitTweet a.thinkTwitAuthor<\/code><\/li>\n<li>The author suffix within a tweet can be accessed using <code>ol.thinkTwitTweets li.thinkTwitTweet a.thinkTwitSuffix<\/code><\/li>\n<li>The content of a tweet can be accessed using <code>ol.thinkTwitTweets li.thinkTwitTweet a.thinkTwitContent<\/code><\/li>\n<li>The published time within a tweet can be accessed using <code>ol.thinkTwitTweets li.thinkTwitTweet span.thinkTwitPublished<\/code><\/li>\n<li>The \"no tweets\" message can be accessed using <code>ol.thinkTwitTweets li.thinkTwitNoTweets<\/code><\/li>\n<li>The AJAX error message (\"Error: Unable to display tweets\") can be accessed using `p.thinkTwitError'<\/li>\n<\/ul>\n\n<p>NOTE: Be sure to use the id to access each style in order to over-write the default CSS.<\/p><\/dd>\n<dt id='how%20do%20i%20stop%20caching%20in%20caching%20engines%20such%20as%20wp%20super%20cache%3F'><h3>How do I stop caching in caching engines such as WP Super Cache?<\/h3><\/dt>\n<dd><p>Turn on no-caching in the widget settings.<\/p><\/dd>\n<dt id='how%20does%20no-caching%20work%3F'><h3>How does no-caching work?<\/h3><\/dt>\n<dd><p>Instead of outputting HTML it outputs Javascript. The Javascript uses AJAX (via jQuery) to make a call to a method that returns the \nHTML which is then inserted in to the correct location.<\/p><\/dd>\n<dt id='i%27m%20using%20no-caching%20but%20nothing%20appears%20below%20the%20title'><h3>I'm using no-caching but nothing appears below the title<\/h3><\/dt>\n<dd><p>Your theme is probably not setup properly. AJAX requires a location to insert the returned data from the server-side call. ThinkTwit\nputs it in to the div that contains the widget. A Wordpress theme written correctly should output a unique id for each widget that is\noutput. Inform the developer of your theme to have the following (or something similar) in their register_sidebar function:<\/p>\n\n<pre><code>'before_widget' =&gt; '&lt;div id=\"%1$s\" class=\"widget %2$s\"&gt;'\n<\/code><\/pre><\/dd>\n<dt id='i%27m%20getting%20strange%20errors%20or%20no%20output'><h3>I'm getting strange errors or no output<\/h3><\/dt>\n<dd><p>You may need to clear and rebuild your cache - please use the Clear Cache button within Settings -&gt; ThinkTwit in the Admin area, and then reload \nthe page containing ThinkTwit. Otherwise please re-install - see <a href=\"http:\/\/wordpress.org\/extend\/plugins\/thinktwit\/uninstallation\/\" title=\"Uninstall ThinkTwit\">uninstall instructions<\/a>.<\/p><\/dd>\n<dt id='how%20do%20i%20prevent%20use%20of%20nofollow%20tags%20in%20my%20urls%3F'><h3>How do I prevent use of nofollow tags in my URLs?<\/h3><\/dt>\n<dd><p>You can apply a filter - see the following URL for an example:<\/p>\n\n<p>http:\/\/digwp.com\/2010\/02\/remove-nofollow-attributes-from-post-content\/<\/p><\/dd>\n<dt id='what%20are%20the%20options%20%22show%20when%20published%22%20and%20%22update%20frequency%22%3F'><h3>What are the options \"Show when published\" and \"Update frequency\"?<\/h3><\/dt>\n<dd><ul>\n<li>Show when published - indicates whether the time the tweet was made is shown e.g. \"This happened 1 day ago\"<\/li>\n<li>Update frequency - indicates how often Twitter should be contacted to get a list of tweets. Use this\nto turn on or off caching, and to decide how often to update the cache<\/li>\n<\/ul><\/dd>\n<dt id='why%20aren%27t%20my%20avatar%20images%20showing%3F'><h3>Why aren't my avatar images showing?<\/h3><\/dt>\n<dd><p>The <code>uploads\/thinktwit\/avatars<\/code> folder may not exist or it may not be writeable (this folder is required for caching avatars). Check that your Wordpress\ninstallation has the write permissions to the <code>uploads<\/code> folder.<\/p><\/dd>\n<dt id='how%20often%20do%20avatars%20get%20updated%3F'><h3>How often do avatars get updated?<\/h3><\/dt>\n<dd><p>Once every 24 hours (assuming a request is made in this period). This value is not currently configurable.<\/p><\/dd>\n<dt id='why%20do%20i%20constantly%20see%20the%20message%20%22there%20have%20been%20no%20recent%20tweets%22%3F'><h3>Why do I constantly see the message \"There have been no recent tweets\"?<\/h3><\/dt>\n<dd><p>It is likely that you have not entered your Twitter API credentials. Please see the Installation tab for more details and check your PHP\nerror log for any errors (such as incorrect authentication or rate limiting with Twitter).<\/p><\/dd>\n<dt id='where%20can%20i%20see%20thinktwit%20errors%3F'><h3>Where can I see ThinkTwit errors?<\/h3><\/dt>\n<dd><p>You can look in the normal error log for your PHP setup. By default this is the error_log file within the root server of your Wordpress\ninstallation but this may differ for each installation so if you are unsure please ask your server administrator.<\/p><\/dd>\n<dt id='why%20do%20i%20keep%20seeing%20the%20following%20error%20%22thinktwit%20error%3A%20twitter%20responded%20with%20an%20unexpected%20error%20-%20%5Bmessage%3Drate%20limit%20exceeded%2C%20code%3D88%5D%22%3F'><h3>Why do I keep seeing the following error \"ThinkTwit error: Twitter responded with an unexpected error - [message=Rate limit exceeded, code=88]\"?<\/h3><\/dt>\n<dd><p>This means that you are making too many requests to Twitter. If you are not using caching you should turn this on, and if you are already using it then\nyou should decrease the frequency that requests are made e.g. change update frequency from \"Live (cached)\" to \"Hourly\".<\/p><\/dd>\n<dt id='what%20is%20live%20updates%20and%20how%20does%20it%20work%3F'><h3>What is live updates and how does it work?<\/h3><\/dt>\n<dd><p>Live updates allow periodic updates to the user's screen every set number of seconds i.e. if this was set to 10 seconds then every 10 seconds a call would\nbe made to ThinkTwit to request any new Tweets. To use this feature you must have no-caching turned on.<\/p>\n\n<p>NOTE: Even though you may be have a high frequency set this does not mean you will definitely get new tweets within that frequency. This is dependent upon\nthe frequency of updates that you have set in the update frequency for that widget, shortcode or your Output Anywhere call. If you are using caching then\nthe call will be made to the ThinkTwit cache and not Twitter itself - it is recommended that you use caching and not live calls if using live updates or\nelse you may find yourself blocked from Twitter.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.7.1<\/h4>\n\n<ul>\n<li>(17 Aug 2021) Sanitised multiple inputs and escape output to remove further risk of cross site script security or injection issues and fixed an issue \nwhere CSS was shifting images to the left instead of just avatars - added a class \"avatar\" to images<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>(03 Jul 2021) Modified logo and banner to remove risk of copyright issue, sanitised multiple inputs and outputs to remove risk of cross site script \nsecurity or injection issues, replaced file-access and cURL with wp_remote_get(), made an improvement to calling default CSS file and now stores avatars\nin the uploads directory instead of within the plugin directory<\/li>\n<\/ul>\n\n<h4>1.6.6<\/h4>\n\n<ul>\n<li>(15 Dec 2018) Confirmed compatibility with Wordpress 5.0.1, fixed an error when saving settings for the first time and updated upgrade code to \nensure that it triggers for all version older than 1.6.0<\/li>\n<\/ul>\n\n<h4>1.6.5<\/h4>\n\n<ul>\n<li>(10 Dec 2015) Fixed an incompatibility with Wordpress 4.4 by renaming the Error class to ThinkTwitError<\/li>\n<\/ul>\n\n<h4>1.6.4<\/h4>\n\n<ul>\n<li>(16 Aug 2015) Removed support for PHP 4 style class constructors, fixed \"Reset Settings\" function in the widget, added automatic live update \nfunctionality when using no-caching (AJAX) and fixed an issue within no-caching where the admin-ajax page was not found<\/li>\n<\/ul>\n\n<h4>1.6.3<\/h4>\n\n<ul>\n<li>(07 Mar 2015) Added support for the Serbian language - many thanks to Ogi Djuraskovic of http:\/\/firstsiteguide.com for this!<\/li>\n<\/ul>\n\n<h4>1.6.2<\/h4>\n\n<ul>\n<li>(16 Feb 2015) Very minor update for cURL users - fixes an issue where getting the token fails as it is not using cURL<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>(28 Jan 2015) Change use of \"&lt;?=\" to \"&lt;?php echo\" for older versions of PHP that may not have \"short_open_tag\" turned on, fixed the uninstall\nprocess, fixed an error when storing cache names but none have previously been stored and made a small change to the widget form to simplify\nsaving of widget settings, added shortcut links to the plugin page (Settings, Support and Donate), added a redirect to Settings page after\ninstallation (or activation when consumer key or secret is missing) and added a \"Paused\" option to \"Update frequency\" to prevent the cache\nfrom updating<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>(26 Oct 2014) Fixed an issue with tweets not always being picked up from Twitter due to too many requests for the authentication token, fixed \ncleanup process not running, added translation to some missed areas, fixed a warning when filtering out old usernames, fixed the conversion of \nrelevant Tweet content that wasn't being correctly turned in to links, updated the AJAX handler to use the recommended method (using \nadmin-ajax.php), updated the Twitter Follow Button to use the new code but also used the IFRAME method to ensure it works with \"Prevent Caching\", \nadded a Clear Cache button in the Settings, added the ability to filter usernames and hashtags using AND or OR searches, added code to load \ntweets when caching is turned on but the cache is empty, updated the Tweet object (which holds all tweets) to add some functionality and more \nclearly define the content and functions, and added logging functionality to log error messages to PHP error log<\/li>\n<\/ul>\n\n<h4>1.5.3<\/h4>\n\n<ul>\n<li>(16 Apr 2014) Very minor update to Settings page where expected values not appearing throws a warning, and also updated compatibility version\nin readme<\/li>\n<\/ul>\n\n<h4>1.5.2<\/h4>\n\n<ul>\n<li>(29 Mar 2014) Big improvements to debugging: amended debug output to add the frequency of updates and use of no caching, put the messages in \norder of how they appear in the widget menu, now output actual menu options names and values rather than system values, and added formatting to \naid identifying option names. Additionally, removed a potential security vulnerability that could allow an unauthorised user to write to the \nimages folder and added a setting to allow the default style sheet to be turned off<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>(09 Feb 2014) A user of another plugin (AI Twitter Feeds) that had borrowed the follow button code reported an issue that was a result of\nan update to the follow button script from Twitter. This basic update simply updates the script so you should no longer get the following\nerror: \"Uncaught ReferenceError: twttr is not defined\"<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>(25 Nov 2013) Fixed an issue preventing hashtags from working properly and added i18n internationalisation support, with Spanish the first \nlanguage to be supported - many thanks to Maria Ramos at <a href=\"http:\/\/www.webhostinghub.com\/\">webhostinghub.com<\/a>!<\/li>\n<\/ul>\n\n<h4>1.4.4<\/h4>\n\n<ul>\n<li>(13 Nov 2013) Replaced use of split() with explode() as the former has been deprecated, allowed entering of empty usernames and hashtags, \nfixed the API call so that it doesn't search for mentions of the first username but actually searches for tweets by the first username \nand re-instated an updated version of the old avatar deletion code which runs periodically and takes account of tweets added from chosen \nhashtags<\/li>\n<\/ul>\n\n<h4>1.4.3<\/h4>\n\n<ul>\n<li>(19 Oct 2013) Updated the readme.txt, and both shortcode and Output Anywhere as there were some inconsistencies in naming but also some of\nthe instructions were out of date and hence wrong. Should resolve any issues anyone is having with either of these or with multiple usage\non one page<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>(14 Sep 2013) Renamed constants to prefix with ThinkTwit so that they don't interfere with constants from other plugins, changed help on\nsetting up Twitter app as name needs to be unique, added hashtag filtering in cache, added ability to search for hashtags without usernames \nand changed hashtag searching to be OR rather than AND<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>(02 Jun 2013) Corrected failure to update ThinkTwit version stored in the database, made a minor addition to the new settings page that \nadditionally outputs other information (version, cache names and date of last update to cache) that is stored in the settings which may be \nuseful\/interesting, fixed failure to limit number of tweets by specified value when showing live updates and fixed the follow button not loading\nwhen using no-caching<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>(25 May 2013) Updated to use Twitter REST API v1.1 - please note that after 11th June 2013 any version of ThinkTwit below 1.4.0 WILL NOT WORK\ndue to changes in Twitter's API. You MUST follow the instructions in Installation in order to make ThinkTwit work with this new version - please\nread these before upgrading\/installing!<\/li>\n<\/ul>\n\n<h4>1.3.11<\/h4>\n\n<ul>\n<li>(30 Mar 2013) Modified \"Live (uncached)\" mode to clear out the cache so that it can be used to refresh your cache and fixed display of \nhashtags that was causing a search error in Twitter (if you are caching tweets please set to uncached to clear out the incorrect tweets and \nthen you can start caching again)<\/li>\n<\/ul>\n\n<h4>1.3.10<\/h4>\n\n<ul>\n<li>(14 Oct 2012) Altered the way ThinkTwit downloads avatars so that it now uses the profile image URL from the JSON output, added a check to \nensure that tweets were actually returned from Twitter and made a change to prevent output of Follow script if Show follow links is no<\/li>\n<\/ul>\n\n<h4>1.3.9<\/h4>\n\n<ul>\n<li>(13 Sep 2012) HOTFIX: Twitter have deprecated output of XML on the Twitter Search 1.0 API which itself has been deprecated which has caused\nstrange output resulting in italics everywhere - this update switches to JSON on the version 1.0 API to immediately fix the issue until\nThinkTwit can be re-written on the Twitter Search 1.1 API<\/li>\n<\/ul>\n\n<h4>1.3.8<\/h4>\n\n<ul>\n<li>(09 Sep 2012) Minor update: added \"Reset Settings\" link to options and replaced settings roll up workaround with proper jQuery code<\/li>\n<\/ul>\n\n<h4>1.3.7<\/h4>\n\n<ul>\n<li>(02 Sep 2012) Added the ability to filter tweets by hashtag\/keyword (thanks to Martijn Pantlin for the code), improvements to data loading\nwhen entries do not exist (rare, mostly during upgrades) and the option to show \"Follow @username\" links<\/li>\n<\/ul>\n\n<h4>1.3.6<\/h4>\n\n<ul>\n<li>(14 Aug 2012) Removed code which was potentially incorrectly removing non-images (especially root index.php) when deleting old avatars<\/li>\n<\/ul>\n\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>(11 Jul 2012) Added code to delete old avatars (doesn't work if owner of avatars is different to running process), supress errors on chmod\nand delete of directories and added code to remove all options on uninstallation<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>(24 Jun 2012) Detects when Twitter displays a redirect URL when using the avatar API and downloads avatar from that URL instead, ignores\nerrors when trying to get the file size of an avatar or when getting tweets and checks if the avatar that is supposed to be displayed exists<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>(02 Jun 2012) get_twitter_avatar() replaced with Twitter avatar API, added ability to cache user avatars and changed wording of TIME_1_DAY\nfrom \"about a day ago\" to \"yesterday\"<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>(12 Feb 2012) Added ThinkTwit versioning for making future upgrades more smooth, removed extraneous parameter when calling sort_tweets\nand added settings that stores current ThinkTwit version and a list of all the cache names used<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>(10 Nov 2011) Minor fix to resolve \"file_get_contents\" bug introduced in 1.3.0<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>(25 Oct 2011) MAJOR UPDATES:<\/li>\n<li>Re-organisation of FAQ and installation instructions<\/li>\n<li>Author renamed to username in various places for consistency<\/li>\n<li>Some db names renamed for consistency<\/li>\n<li>Use of apostrophes changed for consistency<\/li>\n<li>Renamed PHP function call (thinktwit_output) to output_anywhere and altered it to use args instead of listing each parameter<\/li>\n<li>Moved shortcode and Output Anywhere functions in to ThinkTwit class<\/li>\n<li>Added more default value constants<\/li>\n<li>Introduced default stylesheet<\/li>\n<li>Fixed time output error when using no-caching<\/li>\n<li>Added no-caching to shortcodes and Output Anywhere<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>(14 Oct 2011) Fixed incorrect PHP function call example in FAQ, fixed incorrect \"Show Username\" type in FAQ, fixed incorrect\nboolean values in FAQ, removed silly copyright statement in comments, added link to FAQ within Plugins description to aid use \nof shortcode, fixed (intermittent) bad check of boolean for displaying avatars and function call and added limit to the maximum \ndays of tweets to be output (NOTE: if upgrading and already using PHP function call please add the max_days parameter after limit <\/li>\n<li>parameter 5)<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>(07 Aug 2011) Added donation links and expandable menus within the widget settings<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>(05 Aug 2011) MAJOR UPDATES:<\/li>\n<li>Massive update to the readme, including updated screenshots<\/li>\n<li>Re-write of code to make better use of object orientation and private\/public functions<\/li>\n<li>More flexibility in shortcodes and output anywhere function (thinktwit_output) - including ability to use caching<\/li>\n<li>Introduced ability to alter time output text e.g. \"This happened 16 minutes ago\"<\/li>\n<li>Added class to style error message when using AJAX<\/li>\n<li>General readability improvements to code<\/li>\n<\/ul>\n\n<h4>1.1.10<\/h4>\n\n<ul>\n<li>(05 Jun 2011) Added ability to apply your own filters and added nofollow tags to links<\/li>\n<\/ul>\n\n<h4>1.1.9<\/h4>\n\n<ul>\n<li>(29 May 2011) Added ability to target individual tweets, odd and even tweets, content and author suffix and linked the avatar to the \nuser's profile<\/li>\n<\/ul>\n\n<h4>1.1.8<\/h4>\n\n<ul>\n<li>(28 May 2011) Added ability to include the Twitter poster's avatar<\/li>\n<\/ul>\n\n<h4>1.1.7<\/h4>\n\n<ul>\n<li>(14 May 2011) Fixed cache not saving with the widgetid (meaning all instances will share the same cache), allows cache size to grow \nand shrink according to the size limit in the widget settings, only outputs cached tweets by users whose name is in the usernames list\nwithin settings and sorted methods in to alphabetical order to aid searching of methods<\/li>\n<\/ul>\n\n<h4>1.1.6<\/h4>\n\n<ul>\n<li>(13 May 2011) Fixed caching to prevent over-writing of cache and ensure it instead adds them to it (removing anything at the end if \nnecessary) and added live option that uses the cache (so you can check for updates and update the cache before displaying cached tweets, \nthis ensures that if Twitter is not available it will still display tweets)<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>(22 Apr 2011) Added caching of tweets (optional) and added tweet shortcodes<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>(09 Mar 2010) Removed some extranous code, added option to show username or Twitter name and changed list to ordered list for semantics<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>(03 Mar 2010) Minor change where a variable was being over-written but it had no real affect and updated screenshot-2.png<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>(03 Mar 2010) Added no-caching (to prevent ThinkTwit from being cached by caching engines), an option to use CURL to access\nthe Twitter API, optional debug messages, updated readme and moved development to http:\/\/www.thepicketts.org<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>(16 Feb 2010) Removed unnecessary PHP command that was causing annoying error in widget screen (though not causing a problem) and\nupdated readme with new FAQ and uninstall instructions<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>(11 Feb 2010) MAJOR UPDATES:<\/li>\n<li>Rewritten 80% of the code to correctly use widget API<\/li>\n<li>No longer need to spexify suffixes and prefixes - correctly hardcoded to use unordered lists<\/li>\n<li>Added classes for more flexible CSS changes<\/li>\n<li>Original settings page removed - all settings now made in widget NOTE: TAKE NOTE OF YOUR SETTINGS BEFORE UPDATING!<\/li>\n<li>Updated default CSS for basic use - please replace original with this and update as necessary<\/li>\n<li>No break spaces (\"&nbsp;\") no longer required to replace spaces in settings<\/li>\n<li>FAQ removed as there was only one question that is no longer relevant<\/li>\n<li>Updated screenshots to reflect new settings configuration<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>(09 Feb 2010) Added temporary \"no tweets in the last 7 days\" notice (if no tweets are visible) until caching is implemented<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>(09 Feb 2010) Fixed title not being saved in Settings, also added option to open links in new window and added FAQ to the readme<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>(04 Feb 2010) Added option to change the widget title and replaced spaces with no-break spaces (&nbsp;) in default username suffix<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>(03 Feb 2010) Removed some spaces at top of file that may be causing issues for some people<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>(03 Feb 2010) Removed automatic deletion of database fields on deactivation and updated readme<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>(27 Jan 2010) Fixed incorrect output of ampersands and apostrophes<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>(21 Jan 2010) Initial Release<\/li>\n<\/ul>","raw_excerpt":"Outputs tweets from any Twitter users, hashtag or keyword through the Widget interface. Can be called via shortcode or PHP function call and supports  &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/7895","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=7895"}],"author":[{"embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/stephenpickett"}],"wp:attachment":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=7895"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=7895"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=7895"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=7895"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=7895"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=7895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}