{"id":346222,"date":"2026-07-30T17:57:48","date_gmt":"2026-07-30T17:57:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/smart-conditional-blocks\/"},"modified":"2026-07-30T17:57:16","modified_gmt":"2026-07-30T17:57:16","slug":"visiblix-block-rules","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/visiblix-block-rules\/","author":23188929,"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":"Visiblix Block Rules","header_author":"Mayur Paneliya","header_description":"Show or hide any Gutenberg block based on user role, login status, device, browser, schedule, WooCommerce purchases, membership level, and more.","assets_banners_color":"6f8991","last_updated":"2026-07-30 17:57:16","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/mayurpaneliya.blog\/","header_plugin_uri":"https:\/\/github.com\/mayurptl1994\/smart-conditional-blocks","header_author_uri":"https:\/\/mayurpaneliya.blog\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":29,"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":"mayurptl1994","date":"2026-07-30 17:57:16"}},"upgrade_notice":{"1.0.0":"<p>Initial release of Visiblix Block Rules.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3628977,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3628977,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3628977,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3628977,"resolution":"772x250","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":3628977,"resolution":"1","location":"assets","locale":"","width":1024,"height":594},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3628977,"resolution":"2","location":"assets","locale":"","width":984,"height":1024},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3628977,"resolution":"3","location":"assets","locale":"","width":1919,"height":882}},"screenshots":{"1":"Dashboard overview with welcome steps and quick links","2":"Settings - caching, editor indicators, and enabled condition types"}},"plugin_section":[],"plugin_tags":[4121,5106,148076,6309,286],"plugin_category":[45],"plugin_contributors":[273893],"plugin_business_model":[],"class_list":["post-346222","plugin","type-plugin","status-publish","hentry","plugin_tags-blocks","plugin_tags-conditions","plugin_tags-gutenberg","plugin_tags-visibility","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-mayurptl1994","plugin_committers-mayurptl1994"],"banners":{"banner":"https:\/\/ps.w.org\/visiblix-block-rules\/assets\/banner-772x250.png?rev=3628977","banner_2x":"https:\/\/ps.w.org\/visiblix-block-rules\/assets\/banner-1544x500.png?rev=3628977","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/visiblix-block-rules\/assets\/icon-128x128.png?rev=3628977","icon_2x":"https:\/\/ps.w.org\/visiblix-block-rules\/assets\/icon-256x256.png?rev=3628977","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/visiblix-block-rules\/assets\/screenshot-1.png?rev=3628977","caption":"Dashboard overview with welcome steps and quick links"},{"src":"https:\/\/ps.w.org\/visiblix-block-rules\/assets\/screenshot-2.png?rev=3628977","caption":"Settings - caching, editor indicators, and enabled condition types"},{"src":"https:\/\/ps.w.org\/visiblix-block-rules\/assets\/screenshot-3.png?rev=3628977","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>Visiblix Block Rules<\/strong> adds a Visibility Conditions panel to every Gutenberg block. Build AND\/OR rules, then show or hide content automatically on the frontend - securely, without injecting tracking scripts.<\/p>\n\n<p>Author: <a href=\"https:\/\/mayurpaneliya.blog\/\">Mayur Paneliya<\/a><\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Works with any Gutenberg block<\/li>\n<li>Login status and user roles<\/li>\n<li>Device (desktop \/ tablet \/ mobile) and browser<\/li>\n<li>Date and time ranges plus recurring schedules<\/li>\n<li>Country detection via CDN headers (no remote geo API)<\/li>\n<li>URL parameters and custom fields<\/li>\n<li>WooCommerce purchase history<\/li>\n<li>Membership levels (MemberPress, Restrict Content Pro, WooCommerce Memberships)<\/li>\n<li>Allow-listed PHP callbacks for advanced logic<\/li>\n<li>Export \/ import condition sets as JSON<\/li>\n<li>REST API (<code>viblx\/v1<\/code>)<\/li>\n<li>Request-aware caching with safe fingerprints<\/li>\n<li>Admin Dashboard, Settings, Help Center, and Developers docs<\/li>\n<li>Fully translatable (text domain: <code>visiblix-block-rules<\/code>)<\/li>\n<\/ul>\n\n<h4>How to use<\/h4>\n\n<ol>\n<li>Activate the plugin.<\/li>\n<li>Open <strong>Block Visibility<\/strong> in the WordPress admin menu.<\/li>\n<li>Edit any post or page in the block editor.<\/li>\n<li>Select a block and open <strong>Visibility Conditions<\/strong> in the sidebar.<\/li>\n<li>Enable conditions, choose Show or Hide, set AND\/OR logic, and add rules.<\/li>\n<li>Update the post and preview on the frontend.<\/li>\n<\/ol>\n\n<h4>Privacy<\/h4>\n\n<p>Visiblix Block Rules does not phone home. Country rules read local CDN request headers only.<\/p>\n\n<h4>Frequently used hooks<\/h4>\n\n<ul>\n<li><code>viblx_register_conditions<\/code> - register custom condition types<\/li>\n<li><code>viblx_php_callbacks<\/code> - allow-list PHP callback conditions<\/li>\n<li><code>viblx_evaluation_context<\/code> - extend evaluation context<\/li>\n<li><code>viblx_should_render<\/code> - override final visibility<\/li>\n<\/ul>\n\n<p>See <strong>Block Visibility &gt; Developers<\/strong> in wp-admin for full hook documentation with examples.<\/p>\n\n<h4>Developer notes<\/h4>\n\n<ul>\n<li>Namespace: <code>VisiblixBlockRules\\<\/code><\/li>\n<li>Global helper: <code>viblx()<\/code><\/li>\n<li>REST namespace: <code>viblx\/v1<\/code><\/li>\n<li>Conditions attribute: <code>viblxConditions<\/code> on every block<\/li>\n<\/ul>\n\n<h4>Support<\/h4>\n\n<ul>\n<li>In-plugin Help Center and Developers pages<\/li>\n<li>GitHub: https:\/\/github.com\/mayurptl1994\/smart-conditional-blocks<\/li>\n<li>Author site: https:\/\/mayurpaneliya.blog\/<\/li>\n<\/ul>\n\n<h4>Credits<\/h4>\n\n<p>Built by Mayur Paneliya. Uses the WordPress Block API, Settings API, and REST API.<\/p>\n\n<h4>License<\/h4>\n\n<p>GPLv2 or later.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>visiblix-block-rules<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install via <strong>Plugins &gt; Add New<\/strong>.<\/li>\n<li>Activate <strong>Visiblix Block Rules<\/strong>.<\/li>\n<li>Open <strong>Block Visibility<\/strong> in the admin menu.<\/li>\n<li>Edit any post, select a block, and configure <strong>Visibility Conditions<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20all%20blocks%3F\"><h3>Does this work with all blocks?<\/h3><\/dt>\n<dd><p>Yes. Conditions are added to every registered block type via the Block API.<\/p><\/dd>\n<dt id=\"will%20hidden%20blocks%20disappear%20in%20the%20editor%3F\"><h3>Will hidden blocks disappear in the editor?<\/h3><\/dt>\n<dd><p>No. Rules apply on the frontend so editors can always manage content. An optional dashed outline highlights conditional blocks in the editor.<\/p><\/dd>\n<dt id=\"does%20country%20detection%20call%20an%20external%20service%3F\"><h3>Does country detection call an external service?<\/h3><\/dt>\n<dd><p>No. The plugin only reads local CDN headers such as Cloudflare <code>CF-IPCountry<\/code>. You can override detection with the <code>viblx_detect_country<\/code> filter.<\/p><\/dd>\n<dt id=\"is%20any%20visitor%20data%20sent%20off-site%3F\"><h3>Is any visitor data sent off-site?<\/h3><\/dt>\n<dd><p>No. There is no telemetry.<\/p><\/dd>\n<dt id=\"why%20is%20woocommerce%20marked%20unavailable%3F\"><h3>Why is WooCommerce marked Unavailable?<\/h3><\/dt>\n<dd><p>The WooCommerce Purchase condition requires WooCommerce to be installed and active.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20a%20custom%20php%20rule%3F\"><h3>How do I add a custom PHP rule?<\/h3><\/dt>\n<dd><p>Register an allow-listed callable with the <code>viblx_php_callbacks<\/code> filter, then choose <strong>PHP Callback<\/strong> in the block sidebar.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Conditional visibility for all Gutenberg blocks<\/li>\n<li>Admin Dashboard, Settings, Help Center, Developers<\/li>\n<li>REST API, caching, export\/import, multilingual support<\/li>\n<\/ul>","raw_excerpt":"Show or hide any Gutenberg block based on user role, login, device, schedule, WooCommerce purchases, membership, and more.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/346222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=346222"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mayurptl1994"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=346222"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=346222"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=346222"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=346222"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=346222"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=346222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}