{"id":318205,"date":"2026-08-01T05:23:47","date_gmt":"2026-08-01T05:23:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/advanced-menu-visibility-free\/"},"modified":"2026-08-01T05:23:20","modified_gmt":"2026-08-01T05:23:20","slug":"barar-menu-visibility-rules","status":"publish","type":"plugin","link":"https:\/\/zh-sg.wordpress.org\/plugins\/barar-menu-visibility-rules\/","author":23409186,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Barar Menu Visibility Rules","header_author":"Atik Hosen","header_description":"Control WordPress menu visibility with conditional rules for roles, devices, pages, post types, scheduling, URLs, referral, geolocation, and WooCommerce cart.","assets_banners_color":"afd2da","last_updated":"2026-08-01 05:23:20","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":52,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"atikhosenpro","date":"2026-08-01 05:23:20"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3630631,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3630631,"resolution":"1544x500","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3630631,"resolution":"1","location":"assets","locale":"","width":1118,"height":646},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3630631,"resolution":"2","location":"assets","locale":"","width":1062,"height":512}},"screenshots":{"1":"Visibility rule configuration interface in the menu editor."}},"plugin_section":[],"plugin_tags":[4060,1865,1753,6309,286],"plugin_category":[43],"plugin_contributors":[274103],"plugin_business_model":[],"class_list":["post-318205","plugin","type-plugin","status-publish","hentry","plugin_tags-conditional","plugin_tags-menu","plugin_tags-navigation","plugin_tags-visibility","plugin_tags-woocommerce","plugin_category-customization","plugin_contributors-atikhosenpro","plugin_committers-atikhosenpro"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/barar-menu-visibility-rules\/assets\/icon-128x128.png?rev=3630631","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/barar-menu-visibility-rules\/assets\/screenshot-1.png?rev=3630631","caption":"Visibility rule configuration interface in the menu editor."},{"src":"https:\/\/ps.w.org\/barar-menu-visibility-rules\/assets\/screenshot-2.png?rev=3630631","caption":""}],"raw_content":"<!--section=description-->\n<p>Barar Menu Visibility Rules gives you granular control over which menu items are shown to your visitors. No coding required \u2014 configure everything directly in the WordPress menu editor.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li><strong>User Status<\/strong> \u2014 Show items to everyone, logged-in users, or logged-out users<\/li>\n<li><strong>User Roles<\/strong> \u2014 Target specific WordPress user roles (admin, editor, subscriber, etc.)<\/li>\n<li><strong>Specific Pages<\/strong> \u2014 Show or hide items on specific pages or URLs<\/li>\n<li><strong>Devices<\/strong> \u2014 Display items based on desktop, tablet, or mobile devices<\/li>\n<li><strong>Page Categories<\/strong> \u2014 Control visibility on category archive pages<\/li>\n<li><strong>Post Types<\/strong> \u2014 Show or hide on specific post type archives and single views<\/li>\n<li><strong>Date &amp; Time<\/strong> \u2014 Schedule menu items to appear within specific date and time ranges<\/li>\n<li><strong>URL Parameters<\/strong> \u2014 Toggle visibility based on URL query parameters (e.g., ?campaign=summer)<\/li>\n<li><strong>Referral URL<\/strong> \u2014 Show or hide items based on the HTTP Referer header<\/li>\n<li><strong>Country<\/strong> \u2014 Target visitors by country using IP geolocation<\/li>\n<li><strong>City<\/strong> \u2014 Target visitors by city using IP geolocation<\/li>\n<li><strong>WooCommerce Cart<\/strong> \u2014 Show items based on cart status (requires WooCommerce)<\/li>\n<\/ul>\n\n<p>Combine multiple conditions using AND\/OR logic for advanced targeting. Lightweight, secure, and compatible with all modern WordPress themes.<\/p>\n\n<h3>Does this work with any theme?<\/h3>\n\n<p>Yes, this plugin works with any WordPress theme that uses the standard WordPress menu system.<\/p>\n\n<h3>Does it support WooCommerce?<\/h3>\n\n<p>Yes. When WooCommerce is active, a cart status condition type becomes available.<\/p>\n\n<h3>Can I combine multiple conditions?<\/h3>\n\n<p>Yes. You can add multiple conditions per menu item and choose between AND (all conditions must match) or OR (any condition must match) logic.<\/p>\n\n<h3>Does this plugin use external services?<\/h3>\n\n<p>Country and city conditions use ip-api.com (free) to determine visitor location based on IP address. Geolocation data is cached locally for 1 hour. No personal data is stored or transmitted beyond the IP address lookup. CloudFlare users can also use CF-IPCountry header.<\/p>\n\n<h3>How does country\/city detection work?<\/h3>\n\n<p>The plugin detects visitor location using their IP address, checked against CloudFlare headers (if available) or the ip-api.com geolocation service. This data is cached per IP for one hour. If geolocation is unavailable, the condition is skipped (menu item remains visible).<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/barar-menu-visibility-rules\/<\/code>, or install through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the Plugins screen.<\/li>\n<li>Go to Appearance &gt; Menus and configure visibility rules on individual menu items.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Control WordPress menu visibility with conditional rules for roles, devices, pages, post types, scheduling, URLs, referral, geolocation, and WooCommer &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/318205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=318205"}],"author":[{"embeddable":true,"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/atikhosenpro"}],"wp:attachment":[{"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=318205"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=318205"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=318205"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=318205"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=318205"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=318205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}