{"id":304616,"date":"2026-05-26T18:56:48","date_gmt":"2026-05-26T18:56:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/weal-user-account\/"},"modified":"2026-06-15T00:13:58","modified_gmt":"2026-06-15T00:13:58","slug":"weal-profile","status":"publish","type":"plugin","link":"https:\/\/cn.wordpress.org\/plugins\/weal-profile\/","author":23055420,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.2","stable_tag":"1.4.2","tested":"7.0","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Weal Profile","header_author":"leouix","header_description":"Creates a personal account page where logged-in users can manage their profile information and review their site activity.","assets_banners_color":"","last_updated":"2026-06-15 00:13:58","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.donationalerts.com\/r\/weal_plugin","header_plugin_uri":"https:\/\/weal.cloud","header_author_uri":"https:\/\/github.com\/Leouix\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":355,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"leouix","date":"2026-05-26 18:56:17"},"1.1.0":{"tag":"1.1.0","author":"leouix","date":"2026-05-27 09:16:09"},"1.2.0":{"tag":"1.2.0","author":"leouix","date":"2026-05-30 05:29:11"},"1.2.1":{"tag":"1.2.1","author":"leouix","date":"2026-05-30 06:05:17"},"1.2.2":{"tag":"1.2.2","author":"leouix","date":"2026-05-30 07:47:21"},"1.3.0":{"tag":"1.3.0","author":"leouix","date":"2026-05-31 19:46:42"},"1.3.1":{"tag":"1.3.1","author":"leouix","date":"2026-06-03 20:41:40"},"1.4.0":{"tag":"1.4.0","author":"leouix","date":"2026-06-10 19:44:28"},"1.4.1":{"tag":"1.4.1","author":"leouix","date":"2026-06-12 12:45:06"},"1.4.2":{"tag":"1.4.2","author":"leouix","date":"2026-06-15 00:13:58"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.2.0","1.2.1","1.2.2","1.3.0","1.3.1","1.4.0","1.4.1","1.4.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3560006,"resolution":"1","location":"assets","locale":"","width":1659,"height":809},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3560006,"resolution":"2","location":"assets","locale":"","width":1659,"height":809},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3560006,"resolution":"3","location":"assets","locale":"","width":1659,"height":809},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3568006,"resolution":"4","location":"assets","locale":"","width":1627,"height":730}},"screenshots":[]},"plugin_section":[],"plugin_tags":[2318,267156,264521,14955,9246],"plugin_category":[58],"plugin_contributors":[264522,264523],"plugin_business_model":[],"class_list":["post-304616","plugin","type-plugin","status-publish","hentry","plugin_tags-achievements","plugin_tags-comments-rating","plugin_tags-manage-user-page","plugin_tags-user-account","plugin_tags-user-profile","plugin_category-user-management","plugin_contributors-leouix","plugin_contributors-weal","plugin_committers-leouix"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/weal-profile.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/weal-profile\/assets\/screenshot-1.png?rev=3560006","caption":""},{"src":"https:\/\/ps.w.org\/weal-profile\/assets\/screenshot-2.png?rev=3560006","caption":""},{"src":"https:\/\/ps.w.org\/weal-profile\/assets\/screenshot-3.png?rev=3560006","caption":""},{"src":"https:\/\/ps.w.org\/weal-profile\/assets\/screenshot-4.png?rev=3568006","caption":""}],"raw_content":"<!--section=description-->\n<p>Weal Profile adds a dedicated front-end account page for authenticated users (default: <code>\/my-profile<\/code>), allowing them to manage selected profile fields without accessing the WordPress admin dashboard.<\/p>\n\n<p>Development happens open-source on GitHub. Contributions, issues, and feature requests are welcome:\n<a href=\"https:\/\/github.com\/leouix\/weal-profile\">GitHub Repository<\/a><\/p>\n\n<p>The plugin also includes an admin settings page where site administrators can configure the account page, choose which profile fields are editable by users, and manage gamification thresholds.<\/p>\n\n<h3>Admin Features<\/h3>\n\n<p>Available in the WordPress admin menu under <strong>Weal Profile<\/strong>.\nAdministrators can:\n* Enable or disable profile fields shown on the public account page\n* Set a custom URL slug for the personal account page (default: <code>\/my-profile<\/code>)\n* Enable or disable the comment likes\/dislikes system\n* Configure thresholds and comment count targets for each achievement badge<\/p>\n\n<p><strong>Available profile fields:<\/strong>\n* Avatar \/ Gravatar\n* Display Name\n* Website URL\n* Nickname\n* First Name\n* Last Name\n* Biography<\/p>\n\n<h3>Front-End User Features<\/h3>\n\n<p>On the public account page, logged-in users can:\n* Edit their personal profile information (based on admin settings)\n* Upload and remove a profile avatar\n* View their comment activity and reaction statistics (likes\/dislikes received)<\/p>\n\n<h3>Achievements &amp; Badges System<\/h3>\n\n<p>A motivational achievements and badges system that rewards users based on their comment activity:\n* <strong>Active Commentator badge<\/strong> <code>dashicons-awards<\/code> \u2014 awarded when a user reaches a configurable threshold of approved comments.\n* <strong>Cutie badge<\/strong> <code>&amp;#x1f970;<\/code> (\ud83e\udd70) \u2014 awarded when a user receives a configurable number of likes on comments.\n* <strong>Angry badge<\/strong> <code>&amp;#x1f47f;<\/code> (\ud83d\udc7f) \u2014 awarded when a user receives a configurable number of dislikes on comments.<\/p>\n\n<p><strong>Key features:<\/strong>\n* Badges are dynamically displayed on user avatars in the comments section.\n* Fully configurable targets via the admin panel.\n* REST API endpoints for managing achievement settings.<\/p>\n\n<h3>Comment Likes \/ Dislikes<\/h3>\n\n<p>Logged-in users can like or dislike comments on posts.\n* Toggle likes and dislikes with a single click.\n* Active state visual feedback on voted buttons.\n* Vote counts update instantly via AJAX.\n* Configurable toggle in admin settings to enable\/disable the system.\n* Comment reaction statistics shown on the user profile page (total likes\/dislikes received, top voted comments).\n* Dedicated database table (<code>weal_comment_votes<\/code>) for efficient vote storage.\n* Unique constraint prevents duplicate votes per user per comment.<\/p>\n\n<h3>Post Rating System<\/h3>\n\n<p>A 5-star rating system is automatically displayed on single post pages.\n* Visitors can rate posts from 1 to 5 stars.\n* Rating is stored in post meta (<code>rating_sum<\/code>, <code>rating_count<\/code>, <code>rating_average<\/code>).\n* Partial star visualization (e.g., 3.5 stars shows 3 full + 1 half-filled star).\n* Anti-double-vote protection via cookies.\n* AJAX-based submission with instant UI update.\n* Schema.org <code>AggregateRating<\/code> markup for SEO.<\/p>\n\n<h3>Activity Center<\/h3>\n\n<p>The plugin provides a convenient centralized space where users can track their comment history and quickly return to conversations they participated in.<\/p>\n\n<h3>Localization<\/h3>\n\n<p>The plugin is fully translation-ready and officially supports 4 languages:\n* English (EN)\n* French (FR)\n* Spanish (ES)\n* Russian (RU)<\/p>\n\n<h3>Database<\/h3>\n\n<p>The plugin creates a custom database table on activation:\n* <code>wp_weal_comment_votes<\/code> \u2014 stores comment likes\/dislikes (<code>comment_id<\/code>, <code>user_id<\/code>, <code>is_liked<\/code>, <code>created_at<\/code>).<\/p>\n\n<p>When updating the plugin, the table is automatically created or updated via a version check \u2014 no need to deactivate and reactivate.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install it through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Go to <strong>WordPress Admin \u2192 Weal Profile<\/strong>.<\/li>\n<li>Configure the account page URL, adjust achievement thresholds, and choose which profile fields users can edit.<\/li>\n<li>Visit the account page (default: <code>\/my-profile<\/code>) while logged in.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20can%20i%20access%20another%20user%27s%20page%3F\"><h3>How can I access another user's page?<\/h3><\/dt>\n<dd><p>Logged-in users can access another user's profile page by clicking on their name or avatar link within the website's comments section.<\/p><\/dd>\n<dt id=\"how%20does%20the%20rating%20system%20prevent%20double%20voting%3F\"><h3>How does the rating system prevent double voting?<\/h3><\/dt>\n<dd><p>Each vote sets a cookie (<code>weal_voted_post_{post_id}<\/code>) valid for 1 year. Both the REST API and JavaScript check for existing cookies to prevent multiple votes from the same browser.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20the%20comment%20likes%20feature%3F\"><h3>Can I disable the comment likes feature?<\/h3><\/dt>\n<dd><p>Yes. Go to <strong>WordPress Admin \u2192 Weal Profile<\/strong> and uncheck \"Enable likes and dislikes on comments\".<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Improved user interaction and security.<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Added UI and security improvements.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Added achievements system: Active User, Nice User, and Angry User badges based on comment activity.<\/li>\n<li>Configurable comment count targets for each achievement in admin settings.<\/li>\n<li>Badge display on user avatars in comments.<\/li>\n<li>REST API endpoints for achievements management in admin panel.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Added comment reactions display on user profile page.<\/li>\n<li>Improved user interaction with the interface.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added client-side caching.<\/li>\n<li>Improved user interaction with the interface.<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Improved responsive layout and styling for the profile page.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Added display of records on the user page.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added support for public or shared user profile pages.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Creates a personal account page for logged-in users to manage profile information, track achievements, and review site activity.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/304616","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=304616"}],"author":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/leouix"}],"wp:attachment":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=304616"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=304616"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=304616"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=304616"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=304616"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=304616"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}