{"id":87707,"date":"2018-07-03T18:58:43","date_gmt":"2018-07-03T18:58:43","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/prolike-button\/"},"modified":"2026-09-25T21:53:10","modified_gmt":"2026-09-25T21:53:10","slug":"prolike-button","status":"publish","type":"plugin","link":"https:\/\/mk.wordpress.org\/plugins\/prolike-button\/","author":15026746,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0","stable_tag":"2.0","tested":"7.1.2","requires":"6.2","requires_php":"5.6","requires_plugins":null,"header_name":"Pro Like Button","header_author":"Andriy Prots","header_description":"Like and dislike each post","assets_banners_color":"cae5ef","last_updated":"2026-09-25 21:53:10","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/github.com\/ProtSport","rating":0,"author_block_rating":0,"active_installs":10,"downloads":2809,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"2.0":{"tag":"2.0","author":"protport4991","date":"2026-09-25 21:53:10","revision":3713638}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":1903552,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":1903552,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500-rtl.png":{"filename":"banner-1544x500-rtl.png","revision":1903552,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":1903552,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250-rtl.png":{"filename":"banner-772x250-rtl.png","revision":1903552,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250},"banner-772x250.png":{"filename":"banner-772x250.png","revision":1903552,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3713638,"resolution":"1","location":"assets","locale":"","width":823,"height":834},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3713638,"resolution":"2","location":"assets","locale":"","width":825,"height":302},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3713638,"resolution":"3","location":"assets","locale":"","width":825,"height":487},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3713638,"resolution":"4","location":"assets","locale":"","width":825,"height":861}},"screenshots":{"1":"General settings: where to display the buttons, excluded post\/page IDs, who can vote, layout, button style, text, size and position.","2":"Shortcode tab: output the buttons anywhere with [prolikebutton_shortcode].","3":"Anti-spam tab: optional IP rate-limiting and Google reCAPTCHA v2\/v3.","4":"Custom tab: your own CSS and custom Like\/Dislike button images."}},"plugin_section":[],"plugin_tags":[19028,156,815,2295,11300],"plugin_category":[53],"plugin_contributors":[158780],"plugin_business_model":[],"class_list":["post-87707","plugin","type-plugin","status-publish","hentry","plugin_tags-dislike","plugin_tags-like","plugin_tags-like-button","plugin_tags-rating","plugin_tags-voting","plugin_category-ratings-and-reviews","plugin_contributors-protport4991","plugin_committers-protport4991"],"banners":{"banner":"https:\/\/ps.w.org\/prolike-button\/assets\/banner-772x250.png?rev=1903552","banner_2x":"https:\/\/ps.w.org\/prolike-button\/assets\/banner-1544x500.png?rev=1903552","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/prolike-button\/assets\/icon-128x128.png?rev=1903552","icon_2x":"https:\/\/ps.w.org\/prolike-button\/assets\/icon-256x256.png?rev=1903552","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/prolike-button\/assets\/screenshot-1.png?rev=3713638","caption":"General settings: where to display the buttons, excluded post\/page IDs, who can vote, layout, button style, text, size and position."},{"src":"https:\/\/ps.w.org\/prolike-button\/assets\/screenshot-2.png?rev=3713638","caption":"Shortcode tab: output the buttons anywhere with [prolikebutton_shortcode]."},{"src":"https:\/\/ps.w.org\/prolike-button\/assets\/screenshot-3.png?rev=3713638","caption":"Anti-spam tab: optional IP rate-limiting and Google reCAPTCHA v2\/v3."},{"src":"https:\/\/ps.w.org\/prolike-button\/assets\/screenshot-4.png?rev=3713638","caption":"Custom tab: your own CSS and custom Like\/Dislike button images."}],"raw_content":"<!--section=description-->\n<p>If you\u2019re looking for one of the best and fastest ways to add like and dislike functionality to your WordPress website, then the Pro Like Button plugin is for you! Pro Like Button is a free WordPress plugin that will allow users of your site to interact with posts that you liked and did not like, and you can track them on the site's control panel and sort posts according to these parameters.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Possibility to choose in what page \"Likes or Dislikes\" will be displayed<\/li>\n<li>Possibility to display buttons in any place via shortcode ['prolikebutton_shortcode']<\/li>\n<li>Possibility to download your own icons for buttons<\/li>\n<li>Possibility to sort posts using Likes and Dislikes<\/li>\n<li>10 button Templates (10 types of button layouts)<\/li>\n<li>Custom Like &amp; Dislike buttons texts<\/li>\n<li>Available for logged and non-logged users<\/li>\n<li>Support<\/li>\n<li>Clean code (there is nothing redundant in the code)<\/li>\n<\/ul>\n\n<h4>Translations<\/h4>\n\n<p>Pro Like Button has been translated into the following languages:<\/p>\n\n<ul>\n<li>English (United States)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<h4>From your WordPress dashboard<\/h4>\n\n<ol>\n<li>Visit 'Plugins &gt; Add New'<\/li>\n<li>Search for 'Pro Like Button'<\/li>\n<li>Activate 'Pro Like Button' from your Plugins page. (You will be greeted with a Welcome page.)<\/li>\n<\/ol>\n\n<h4>From WordPress.org<\/h4>\n\n<ol>\n<li>Download 'Pro Like Button'.<\/li>\n<li>Upload the 'Pro Like Button' directory to your '\/wp-content\/plugins\/' directory, using your favorite method (ftp, sftp, scp, etc...)<\/li>\n<li>Activate 'Pro Like Button' from your Plugins page. (You will be greeted with a Welcome page.)<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>2.0<\/h4>\n\n<p>Add Statistics dashboard (likes\/dislikes overview and sorting in wp-admin)\nAdd rate-limiting for the like\/dislike AJAX handler to reduce spam and abuse\nAdd reCAPTCHA support for the like\/dislike action\nAdd structured data (schema.org) output for like\/dislike counts\nAdd WooCommerce product support\nRedesign the plugin settings\/admin pages\nFix several PHP 8+ warnings (activation, save form, posts_clauses)\nFix \"Array to string conversion\" notice in the shortcode handler\nSecurity hardening: every remaining $wpdb query now goes through $wpdb-&gt;prepare() (including table\/column names via %i), instead of raw string interpolation\nUnify text domain to <code>prolike-button<\/code> across the codebase, and add the missing Text Domain header<\/p>\n\n<h4>1.0.5<\/h4>\n\n<p>Security: fixed an unauthenticated SQL injection in the like\/dislike AJAX handler (postid was concatenated into SQL; now validated as an integer and passed through $wpdb-&gt;prepare()). Reported by Enrico Marcolini, Claudio Marchesini and Dottor Marc.\nAdd \"Where to display\" option for Comments\nAdd \"Who can like\" setting (Anyone visiting \/ Members only)<\/p>\n\n<h4>1.0.3<\/h4>\n\n<p>Add new author url\nFix errors in the file readme.txt<\/p>\n\n<h4>1.0.2<\/h4>\n\n<p>Add output button shortcode<\/p>\n\n<h4>1.0<\/h4>\n\n<p>The initial version<\/p>","raw_excerpt":"Adds buttons to posts with the ability to sort them.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/87707","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=87707"}],"author":[{"embeddable":true,"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/protport4991"}],"wp:attachment":[{"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=87707"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=87707"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=87707"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=87707"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=87707"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=87707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}