{"id":1205,"date":"2006-01-03T07:44:52","date_gmt":"2006-01-03T07:44:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/wp-stats\/"},"modified":"2026-08-09T05:11:21","modified_gmt":"2026-08-09T05:11:21","slug":"wp-stats","status":"publish","type":"plugin","link":"https:\/\/fa.wordpress.org\/plugins\/wp-stats\/","author":259,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.0.0","stable_tag":"3.0.0","tested":"7.0.3","requires":"6.8","requires_php":"8.2","requires_plugins":null,"header_name":"WP-Stats","header_author":"Lester 'GaMerZ' Chan","header_description":"","assets_banners_color":"0e1116","last_updated":"2026-08-09 05:11:21","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/lesterchan.net\/site\/donation\/","header_plugin_uri":"https:\/\/lesterchan.net\/portfolio\/programming\/php\/","header_author_uri":"https:\/\/lesterchan.net","rating":2.6,"author_block_rating":0,"active_installs":2000,"downloads":337943,"num_ratings":7,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.00":{"tag":"1.00","author":"GamerZ","date":"2007-03-17 07:31:37"},"2.00":{"tag":"2.00","author":"GamerZ","date":"2007-03-17 07:31:37"},"2.01":{"tag":"2.01","author":"GamerZ","date":"2007-03-17 07:31:37"},"2.02":{"tag":"2.02","author":"GamerZ","date":"2007-03-17 07:31:37"},"2.03":{"tag":"2.03","author":"GamerZ","date":"2007-03-17 07:31:37"},"2.04":{"tag":"2.04","author":"GamerZ","date":"2007-03-17 07:31:37"},"2.05":{"tag":"2.05","author":"GamerZ","date":"2007-03-17 07:31:37"},"2.06":{"tag":"2.06","author":"GamerZ","date":"2007-03-17 07:31:37"},"2.10":{"tag":"2.10","author":"GamerZ","date":"2007-04-08 03:30:50"},"2.11":{"tag":"2.11","author":"GamerZ","date":"2007-06-06 11:11:05"},"2.20":{"tag":"2.20","author":"GamerZ","date":"2007-09-30 08:18:09"},"2.30":{"tag":"2.30","author":"GamerZ","date":"2008-06-10 07:45:28"},"2.31":{"tag":"2.31","author":"GamerZ","date":"2008-07-15 14:45:36"},"2.40":{"tag":"2.40","author":"GamerZ","date":"2009-02-07 13:57:39"},"2.50":{"tag":"2.50","author":"GamerZ","date":"2009-11-27 11:56:30"},"2.55":{"tag":"2.55","author":"GamerZ","date":"2018-08-21 03:17:16"},"2.56":{"tag":"2.56","author":"GamerZ","date":"2023-08-09 03:06:32"},"2.56.1":{"tag":"2.56.1","author":"GamerZ","date":"2026-07-24 13:16:39"},"3.0.0":{"tag":"3.0.0","author":"GamerZ","date":"2026-08-09 05:11:21"}},"upgrade_notice":{"3.0.0":"<p>Requires WordPress 6.8 and PHP 8.2.<\/p>\n\n<p><strong>Both admin screens moved, and they are now one screen.<\/strong> The statistics were at <code>Dashboard -&amp;gt; WP-Stats<\/code> and the settings at <code>Settings -&amp;gt; Stats<\/code>; there is one <code>WP-Stats<\/code> menu now opening one page with two tabs, <code>Statistics<\/code> and <code>Settings<\/code>. Bookmarks to either old screen stop working: the page is <code>wp-admin\/admin.php?page=wp-stats<\/code>, and the settings are <code>wp-admin\/admin.php?page=wp-stats&amp;amp;tab=settings<\/code>. The menu has no submenu entries any more. Nothing else about the screens changed.<\/p>\n\n<p><strong><code>wp_stats_capability<\/code> still tells the two apart.<\/strong> It is filtered per tab rather than per screen, with the same <code>statistics<\/code> and <code>settings<\/code> contexts. A tab the current user cannot open is not drawn, and the page itself is registered with whichever of the two capabilities that user holds \u2014 so handing out the statistics tab alone works exactly as it did when it was its own menu entry.<\/p>\n\n<p><strong>Update all seven WP-Stats plugins together.<\/strong> WP-Stats, WP-EMail, WP-Polls, WP-PostRatings, WP-PostViews, WP-UserOnline and WP-DownloadManager put their own blocks on the statistics page, and all seven shared one unprefixed <code>stats_display<\/code> row between them. Each plugin keeps that setting in its own settings now, and the shared row is deleted during the upgrade. An older copy of any of the six simply stops appearing on the statistics page until you update it; if a block does not come back, switch it on again in that plugin&#039;s own settings.<\/p>\n\n<p><strong>Everything WP-Stats stores is renamed and migrated for you.<\/strong> <code>stats_url<\/code>, <code>stats_mostlimit<\/code> and <code>stats_display<\/code> become one <code>wp_stats_options<\/code> row, and the upgrade marker becomes <code>wp_stats_version<\/code>. The old rows are read once and then deleted, so code calling <code>get_option( &amp;#039;stats_url&amp;#039; )<\/code> or <code>get_option( &amp;#039;stats_display&amp;#039; )<\/code> now gets <code>false<\/code>.<\/p>\n\n<p><strong>Hook names changed.<\/strong> <code>stats_page<\/code> is now <code>wp_stats_page<\/code>. The <code>wp_stats_page_general<\/code>, <code>wp_stats_page_plugins<\/code>, <code>wp_stats_page_recent<\/code>, <code>wp_stats_page_most<\/code>, <code>wp_stats_page_authors<\/code>, <code>wp_stats_page_comments_members<\/code>, <code>wp_stats_page_misc<\/code>, <code>wp_stats_paging_start<\/code> and <code>wp_stats_paging_end<\/code> filters, the seven <code>wp_stats_page_admin_*<\/code> filters, and the <code>stats_display_defaults()<\/code> function are all removed. The replacement is one filter, <code>wp_stats_sections<\/code> \u2014 see &quot;For Plugin Authors&quot; in the description. Every template tag a theme calls (<code>get_totalposts()<\/code>, <code>get_recentcomments()<\/code>, <code>stats_page()<\/code>, <code>snippet_text()<\/code> and the rest) keeps its name and its arguments.<\/p>\n\n<p><strong>Two smaller changes.<\/strong> The &quot;Plugins Stats&quot; heading no longer appears when no plugin has contributed a block to it, and the front-end stylesheet is scoped to WP-Stats&#039; own markup, so it no longer restyles WP-PageNavi \u2014 which also means WP-Stats no longer switches its own styles off when WP-PageNavi is active.<\/p>"},"ratings":{"1":"4","2":0,"3":0,"4":"1","5":"2"},"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":978069,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3639538,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3639538,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"wp-stats\/page-stats":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"wp-stats\/page-stats","version":"3.0.0","title":"Blog Statistics","category":"widgets","icon":"chart-area","description":"The whole statistics page: totals, listings, and whatever other plugins contribute.","keywords":["stats","statistics","totals"],"textdomain":"wp-stats","supports":{"html":false,"multiple":false,"reusable":false},"editorScript":"file:.\/index.js"}},"tagged_versions":["1.00","2.00","2.01","2.02","2.03","2.04","2.05","2.06","2.10","2.11","2.20","2.30","2.31","2.40","2.50","2.55","2.56","2.56.1","3.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3639088,"resolution":"1","location":"assets","locale":"","width":1100,"height":1900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3639088,"resolution":"2","location":"assets","locale":"","width":1100,"height":1034},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3639088,"resolution":"3","location":"assets","locale":"","width":1000,"height":1900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3639088,"resolution":"4","location":"assets","locale":"","width":327,"height":873}},"screenshots":{"1":"Stats -&gt; Statistics: the site, then a section for every plugin that contributes one","2":"The Settings tab, which chooses what the report and the widget carry","3":"The stats page a visitor sees, from the shortcode","4":"The widget, in a sidebar"}},"plugin_section":[],"plugin_tags":[1641,4132,521,522,162],"plugin_category":[36,43],"plugin_contributors":[77620],"plugin_business_model":[],"class_list":["post-1205","plugin","type-plugin","status-publish","hentry","plugin_tags-information","plugin_tags-popular","plugin_tags-statistics","plugin_tags-stats","plugin_tags-widget","plugin_category-analytics","plugin_category-customization","plugin_contributors-gamerz","plugin_committers-gamerz"],"banners":{"banner":"https:\/\/ps.w.org\/wp-stats\/assets\/banner-772x250.png?rev=3639538","banner_2x":"https:\/\/ps.w.org\/wp-stats\/assets\/banner-1544x500.png?rev=3639538","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/wp-stats\/assets\/icon.svg?rev=978069","icon":"https:\/\/ps.w.org\/wp-stats\/assets\/icon.svg?rev=978069","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wp-stats\/assets\/screenshot-1.png?rev=3639088","caption":"Stats -&gt; Statistics: the site, then a section for every plugin that contributes one"},{"src":"https:\/\/ps.w.org\/wp-stats\/assets\/screenshot-2.png?rev=3639088","caption":"The Settings tab, which chooses what the report and the widget carry"},{"src":"https:\/\/ps.w.org\/wp-stats\/assets\/screenshot-3.png?rev=3639088","caption":"The stats page a visitor sees, from the shortcode"},{"src":"https:\/\/ps.w.org\/wp-stats\/assets\/screenshot-4.png?rev=3639088","caption":"The widget, in a sidebar"}],"raw_content":"<!--section=description-->\n<p>WP-Stats builds a statistics page for your blog out of what is already in your database: how many posts, pages, comments, tags, categories and links there are, which posts drew the most comments, who has commented most often, and who writes for you. Put the <code>[page_stats]<\/code> shortcode on a page and that page becomes your statistics page. There is a sidebar widget for the totals, and the same statistics appear in wp-admin under WP-Stats.<\/p>\n\n<p>Other plugins of mine can add their own blocks to that page. WP-Stats does not need to know anything about them in advance and never reads their settings.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>A full statistics page from one shortcode<\/li>\n<li>Totals for posts, pages, comments, commenters, tags, categories, links and authors<\/li>\n<li>Top X most commented posts and pages, most recent posts and most recent comments<\/li>\n<li>A per-commenter view listing every comment somebody has left, with paging<\/li>\n<li>A sidebar widget for the totals<\/li>\n<li>Every block can be switched off individually<\/li>\n<\/ul>\n\n<h3>Donations<\/h3>\n\n<p>I spent most of my free time creating, updating, maintaining and supporting these plugins, if you really love my plugins and could spare me a couple of bucks, I will really appreciate it. If not feel free to use it without any obligations.<\/p>\n\n<h3>Usage<\/h3>\n\n<h3>Create The Stats Page<\/h3>\n\n<ol>\n<li>Go to <code>WP-Admin -&gt; Pages -&gt; Add New<\/code><\/li>\n<li>Type any title you like in the page's title area<\/li>\n<li>If you ARE using nice permalinks, WordPress will generate the permalink to the page after you type the title. You will see an 'Edit' link just beside the permalink.<\/li>\n<li>Click 'Edit', type in <code>stats<\/code> in the text field and click 'Save'.<\/li>\n<li>Type <code>[page_stats]<\/code> in the page's content area<\/li>\n<li>Click 'Publish'<\/li>\n<li>If you ARE NOT using nice permalinks, go to <code>WP-Admin -&gt; WP-Stats<\/code>, open the <code>Settings<\/code> tab and fill in 'Stats URL' with the URL of the page you just created.<\/li>\n<\/ol>\n\n<h3>The Block<\/h3>\n\n<p><strong>Blog Statistics<\/strong> is in the editor's inserter, under <strong>Widgets<\/strong>. Add it to a page and that page is your statistics page \u2014 there is nothing to configure on the block itself, because what the page shows comes from the settings and from whichever companion plugins are installed, not from the post.<\/p>\n\n<p>It renders on the server, so the preview in the editor is the real page rather than an approximation, and the numbers are counted afresh on every view rather than frozen into the post when you save it.<\/p>\n\n<p><strong>The shortcode still works and is not going anywhere.<\/strong> <code>[page_stats]<\/code> behaves exactly as it always has, and a page already containing it needs no change. The block calls the same code the shortcode calls, so the two render identically \u2014 including the blocks other plugins contribute \u2014 and you can use whichever suits the page.<\/p>\n\n<h3>The Widget<\/h3>\n\n<ol>\n<li>Go to <code>WP-Admin -&gt; Appearance -&gt; Widgets<\/code><\/li>\n<li>The widget name is <code>Stats<\/code>.<\/li>\n<\/ol>\n\n<h3>For Plugin Authors<\/h3>\n\n<p>A plugin adds a block to the statistics page by answering one filter. Return an entry keyed by your own slug with underscores:<\/p>\n\n<pre><code>add_filter( 'wp_stats_sections', function ( $sections ) {\n    $options = get_option( 'my_plugin_options', array() );\n\n    if ( empty( $options['stats_display'] ) ) {\n        return $sections;   \/\/ the site owner switched this block off\n    }\n\n    $sections['my_plugin'] = array(\n        'title'    =&gt; __( 'My Plugin', 'my-plugin' ),\n        'priority' =&gt; 10,\n        'render'   =&gt; 'my_plugin_render_stats',\n    );\n\n    return $sections;\n} );\n\nfunction my_plugin_render_stats() {\n    echo '&lt;ul&gt;&lt;li&gt;42 things.&lt;\/li&gt;&lt;\/ul&gt;';\n}\n<\/code><\/pre>\n\n<pre><code>title is a translated heading and is required. `render` is a callable that echoes the block body, takes no arguments, and is required. `priority` sorts the blocks and defaults to 10; ties are broken by the array key.\n<\/code><\/pre>\n\n<p>Decide out of your own settings whether to contribute at all, and return <code>$sections<\/code> untouched if the answer is no rather than adding an entry with an empty body. WP-Stats never reads another plugin's option row and never checks whether your classes exist \u2014 if your plugin is not installed, nothing answers the filter and no block appears.<\/p>\n\n<p>WP-Stats then fires <code>wp_stats_section_my_plugin<\/code> with your entry. Its own listener on that action is what prints the heading and calls <code>render<\/code>, so a theme can take one plugin's block over without disturbing the others:<\/p>\n\n<pre><code>add_action( 'wp_stats_section_my_plugin', function ( $section ) {\n    remove_action( 'wp_stats_section_my_plugin', array( 'WP_Stats_Page', 'render_section' ) );\n    echo '&lt;p&gt;drawn by the theme instead&lt;\/p&gt;';\n}, 5 );\n<\/code><\/pre>\n\n<p>An entry that is malformed \u2014 not an array, no title, a <code>render<\/code> that is not callable \u2014 is skipped. It will not take the page down, and it will not tell you either, so check your block appears.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Create a page and put the <code>[page_stats]<\/code> shortcode in it, or add the <strong>Stats<\/strong> block. That page becomes your statistics page. Usage below has the full steps.<\/li>\n<li>The same statistics are in wp-admin under <code>WP-Stats<\/code>, and there is a sidebar widget for the totals.<\/li>\n<\/ol>\n\n<p>Other plugins of mine add their own sections to that page when they are installed. WP-Stats needs to know nothing about them in advance.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20options%20does%20the%20plugin%20store%3F\"><h3>Which options does the plugin store?<\/h3><\/dt>\n<dd><p>Two rows. <code>wp_stats_options<\/code> holds the stats page URL, the \"top X\" limit and the display toggles; <code>wp_stats_version<\/code> records the version last run so an upgrade knows what it is upgrading from. Deleting the plugin from the Plugins screen removes both.<\/p><\/dd>\n<dt id=\"i%20have%20a%20plugin%20that%20reads%20%60get_option%28%20%27stats_display%27%20%29%60.%20will%20it%20break%3F\"><h3>I have a plugin that reads `get_option( 'stats_display' )`. Will it break?<\/h3><\/dt>\n<dd><p>Yes. That row is deleted during the upgrade, and 3.0.0 no longer answers for it. Seven plugins used to share it, which meant none of them could change how it was stored without breaking the other six. Keep your own copy of the setting in your own option row and answer <code>wp_stats_sections<\/code> \u2014 see \"For Plugin Authors\" above.<\/p><\/dd>\n<dt id=\"the%20plugins%20stats%20heading%20has%20disappeared\"><h3>The Plugins Stats heading has disappeared<\/h3><\/dt>\n<dd><p>It only appears now when a plugin has actually contributed a block. Before 3.0.0 it was printed whether or not there was anything under it.<\/p><\/dd>\n<dt id=\"why%20do%20my%20author%20counts%20look%20different%3F\"><h3>Why do my author counts look different?<\/h3><\/dt>\n<dd><p>\"Authors\" now means the users who can publish posts, which is what the block always claimed to count. It used to be derived from the legacy <code>user_level<\/code> meta, and it excluded anyone with a password reset in progress.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h3>3.0.0<\/h3>\n\n<ul>\n<li>FIXED: Recent Posts and Most Commented did not honour a site's own <code>posts_where<\/code> filter. <code>get_posts()<\/code> suppresses filters by default, so a membership or paywall plugin hiding published posts had them listed on the public statistics page anyway \u2014 which contradicted the reasoning the rest of the file is built on, that these queries go through core's APIs precisely so a site's content rules still apply<\/li>\n<li>FIXED: One of the three places that builds an author link did not escape the URL, relying instead on the caller having encoded the name first. It happens to be true today; nothing enforces it<\/li>\n<li>BREAKING: Requires WordPress 6.8 and PHP 8.2, up from 6.0 and 7.4.<\/li>\n<li>BREAKING: The <code>stats_url<\/code>, <code>stats_mostlimit<\/code>, <code>stats_display<\/code>, <code>stats_options<\/code> and <code>stats_db_version<\/code> rows are replaced by <code>wp_stats_options<\/code> and <code>wp_stats_version<\/code>, migrated automatically on upgrade and then deleted. The old names are no longer answered.<\/li>\n<li>BREAKING: The unprefixed <code>stats_page<\/code> filter is now <code>wp_stats_page<\/code>, and is handed the page complete with its wrapper element.<\/li>\n<li>BREAKING: The seven <code>wp_stats_page_*<\/code> filters, the two <code>wp_stats_paging_*<\/code> filters and the seven <code>wp_stats_page_admin_*<\/code> filters are removed. A plugin contributing a block answers <code>wp_stats_sections<\/code> and renders through <code>wp_stats_section_&lt;slug&gt;<\/code>.<\/li>\n<li>BREAKING: <code>stats_display_defaults()<\/code> is removed. A plugin keeps its own display setting in its own option row.<\/li>\n<li>BREAKING: The statistics screen moved from <code>Dashboard -&gt; WP-Stats<\/code> and the settings from <code>Settings -&gt; Stats<\/code> onto one <code>WP-Stats<\/code> page with two tabs, <code>Statistics<\/code> and <code>Settings<\/code>, at <code>admin.php?page=wp-stats<\/code>.<\/li>\n<li>BREAKING: Every class is prefixed. The widget class is <code>WP_Stats_Widget<\/code>; placed widgets and their settings are unaffected.<\/li>\n<li>NEW: A <strong>Blog Statistics<\/strong> block, <code>wp-stats\/page-stats<\/code>, which renders the statistics page in the editor and on the front end. The <code>[page_stats]<\/code> shortcode is unchanged and still supported \u2014 the block calls the same code, so the two render identically and a page already using the shortcode needs no change.<\/li>\n<li>NEW: <code>wp_stats_sections<\/code> and <code>wp_stats_section_&lt;slug&gt;<\/code>, the contract other plugins use to add a block to the statistics page.<\/li>\n<li>NEW: <code>wp_stats_capability<\/code>, which every capability check goes through, so the read-only statistics tab can be opened to editors without opening the settings.<\/li>\n<li>NEW: Restructured into <code>includes\/<\/code> with one class per responsibility.<\/li>\n<li>NEW: Settings screen rebuilt on the WordPress Settings API.<\/li>\n<li>NEW: PHPUnit test suite and GitHub Actions CI.<\/li>\n<li>CHANGED: The statistics page is wrapped in <code>&lt;div class=\"wp-stats\"&gt;<\/code> and the stylesheet is scoped to it, so it no longer restyles WP-PageNavi's paging and no longer refuses to load when that plugin is active.<\/li>\n<li>CHANGED: The stylesheet moved to <code>css\/wp-stats.css<\/code> and inherits the theme's colours instead of hardcoding blue on white. A theme's own copy of <code>stats-css.css<\/code> is no longer looked for; dequeue the <code>wp-stats<\/code> handle instead.<\/li>\n<li>CHANGED: Every listing is built from core query APIs rather than hand-written SQL, so the results are cached the way the rest of WordPress caches them and any filter a site already uses to hide content still applies.<\/li>\n<li>CHANGED: The \"Authors\" counts are the users who can publish posts, rather than users with a legacy <code>user_level<\/code> above 1.<\/li>\n<li>CHANGED: <code>stats_author<\/code> and <code>stats_page<\/code> are registered query variables now.<\/li>\n<li>FIXED: The stylesheet never loaded, because it was hooked to <code>wp_enqueue_script<\/code>, which is not an action. It now loads on pages that render the paging.<\/li>\n<li>FIXED: Rendering the statistics page no longer overwrites the global <code>$post<\/code>, which could leave a theme's loop pointing at the wrong entry.<\/li>\n<li>FIXED: Uninstalling on multisite stopped at the hundredth site and left the rest of the network's rows behind.<\/li>\n<li>FIXED: <code>get_linkcats()<\/code> and <code>get_tags_list()<\/code> used arguments and functions deprecated since WordPress 3.0.<\/li>\n<li>FIXED: Removed the unreachable \"Comments Protected\" branch; every listing already excludes password-protected posts.<\/li>\n<li>FIXED: A negative <code>stats_page<\/code> query argument caused a SQL error.<\/li>\n<li>FIXED: A commenter whose name contains an apostrophe or a quote \u2014 \"Sinead O'Brien\" is enough \u2014 got an empty list of comments, under a heading with a stray backslash in it. The <code>stats_author<\/code> query argument was read without removing the slashes WordPress adds to every request value, so the name never matched the row it came from.<\/li>\n<li>FIXED: Undefined index warning reading the post-password cookie.<\/li>\n<li>FIXED: The widget's \"Statistics To Display\" label used the wrong text domain and could not be translated.<\/li>\n<li>FIXED: The widget's spam line read \"Spam Blockeds\" in the plural.<\/li>\n<li>NOTE: A comment attribution was \"Posted By\" glued to the author and \"On\" glued to the date, and a link title was \"Posted On\" glued to a date. Each is one string with placeholders now, so a translation decides the word order. Those msgids changed, so existing translations of them fall back to English until they are retranslated<\/li>\n<\/ul>","raw_excerpt":"Display your WordPress blog statistics. Ranging from general total statistics, some of my plugins statistics and top 10 statistics.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/1205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=1205"}],"author":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/gamerz"}],"wp:attachment":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=1205"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=1205"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=1205"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=1205"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=1205"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=1205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}