[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fFaHcIXqSYhXChD7dv50mDyY4itz4An4dXcAzWezjDcg":3},{"slug":4,"display_name":5,"profile_url":6,"plugin_count":7,"total_installs":8,"avg_security_score":9,"avg_patch_time_days":10,"trust_score":11,"computed_at":12,"plugins":13},"vijayparihar002","Vijay parihar","https:\u002F\u002Fprofiles.wordpress.org\u002Fvijayparihar002\u002F",1,0,100,30,94,"2026-08-29T02:53:55.043Z",[14],{"slug":15,"name":16,"version":17,"author":5,"author_profile":6,"description":18,"short_description":19,"active_installs":8,"downloaded":20,"rating":8,"num_ratings":8,"last_updated":21,"tested_up_to":22,"requires_at_least":23,"requires_php":24,"tags":25,"homepage":24,"download_link":31,"security_score":9,"vuln_count":8,"unpatched_count":8,"last_vuln_date":32,"fetched_at":33},"post-engagement-widget","Post Engagement Widget","1.0.0","\u003Cp>The \u003Cstrong>Post Engagement Widget\u003C\u002Fstrong> provides a simple yet powerful way to gather user feedback on your content. With just a few clicks, you can add beautiful, AJAX-powered Like and Dislike buttons to your posts and comments, encouraging visitors to interact with your site.\u003C\u002Fp>\n\u003Cp>The plugin is designed to be lightweight and easy to use. The settings panel gives you full control over colors, labels, and display rules, while the included shortcode allows you to place the voting buttons anywhere you want.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features for Initial Release:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>AJAX-Powered Voting:\u003C\u002Fstrong> No page reloads. The interface updates instantly for a smooth, modern user experience.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Post & Comment Engagement:\u003C\u002Fstrong> Add like\u002Fdislike buttons to both posts and comments right out of the box.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Guest Voting:\u003C\u002Fstrong> Optionally allow non-logged-in users to vote (uses cookies to prevent duplicate votes).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Full Customization:\u003C\u002Fstrong> Use the built-in color pickers to match the buttons to your theme’s design.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Emoji or Text Labels:\u003C\u002Fstrong> Choose between classic “Like\u002FDislike” text or modern 👍\u002F👎 emoji labels.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic Display on Posts:\u003C\u002Fstrong> Automatically add voting buttons to the end of all your blog posts with a single checkbox.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Universal Shortcode:\u003C\u002Fstrong> Use the \u003Ccode>[engage_widgetment_widget]\u003C\u002Fcode> shortcode to manually place buttons on any page, product, or custom post type.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Clean Uninstall:\u003C\u002Fstrong> When you delete the plugin, it cleans up all its settings and data from your database, leaving no trace behind.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developer Friendly:\u003C\u002Fstrong> Highly extensible with a complete set of actions and filters for advanced customization.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>For Developers (Advanced Customization)\u003C\u002Fh3>\n\u003Cp>We’ve included several hooks to allow you to extend the plugin’s functionality. Here are some examples of what you can do.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Filters\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>engage_widget_auto_display_post_types\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nModify the list of post types where buttons are automatically displayed.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'engage_widget_auto_display_post_types', 'add_my_cpt_for_voting' );\nfunction add_my_cpt_for_voting( $post_types ) {\n    \u002F\u002F Add support for a 'portfolio' custom post type\n    $post_types[] = 'portfolio';\n    return $post_types;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>\u003Ccode>engage_widget_render_buttons_html\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nFilter the final HTML of the buttons for posts.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'engage_widget_render_buttons_html', 'my_custom_post_buttons_wrapper', 10, 2 );\nfunction my_custom_post_buttons_wrapper( $html, $post_id ) {\n    return '\u003Cdiv class=\"my-wrapper\">' . $html . '\u003C\u002Fdiv>';\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>\u003Ccode>engage_widget_render_comment_buttons_html\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nFilter the final HTML of the buttons for comments.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'engage_widget_render_comment_buttons_html', 'my_custom_comment_buttons_wrapper', 10, 2 );\nfunction my_custom_comment_buttons_wrapper( $html, $comment_object ) {\n    return '\u003Cdiv class=\"my-wrapper\">' . $html . '\u003C\u002Fdiv>';\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>\u003Ccode>engage_widget_user_can_vote\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nAdd custom permission logic to prevent a vote. Return \u003Ccode>false\u003C\u002Fcode> to block the vote.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'engage_widget_user_can_vote', 'prevent_voting_on_own_post', 10, 4 );\nfunction prevent_voting_on_own_post( $permission, $item_type, $item_id, $user_id ) {\n    if ( $item_type === 'post' && $user_id > 0 ) {\n        if ( get_post_field( 'post_author', $item_id ) == $user_id ) {\n            return false; \u002F\u002F Prevent users from voting on their own posts\n        }\n    }\n    return $permission;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Actions\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>engage_widget_after_vote_processed\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nFire a custom action after a vote is successfully recorded.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_action( 'engage_widget_after_vote_processed', 'my_custom_action_on_vote', 10, 4 );\nfunction my_custom_action_on_vote( $item_type, $item_id, $vote, $user_id ) {\n    if ( $item_type === 'post' && $vote === 'like' ) {\n        \u002F\u002F Example: Send a notification or update a transient\n        error_log( \"User {$user_id} liked post {$item_id}.\" );\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>\u003Ccode>engage_widget_after_settings_fields\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nAdd your own custom fields to the plugin’s settings page.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_action( 'engage_widget_after_settings_fields', 'my_custom_engage_widget_setting' );\nfunction my_custom_engage_widget_setting( $settings ) {\n    \u002F\u002F HTML for your new setting field\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Add AJAX-powered Like and Dislike buttons to your posts & comments. A simple and lightweight way to boost user engagement.",297,"2025-11-27T09:11:00.000Z","6.9.5","5.5","",[26,27,28,29,30],"dislike","engagement","like","rating","vote","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-engagement-widget.1.0.0.zip",null,"2026-07-22T17:31:50.256Z"]