-
Notifications
You must be signed in to change notification settings - Fork 2
Meta Box Conditions
Paul Ryley edited this page May 16, 2017
·
2 revisions
Both meta-boxes, and specific meta-box fields can be set to show only if a specific condition is met.
The condition
key can be added to both a meta-box and a meta-box field.
condition:
# This condition checks if a PHP Class has been defined.
# Value to check must be the name of the PHP Class, including the namespace if any.
class_exists: GeminiLabs/Pollux/Application
# This condition checks if a PHP constant exists.
# Value to check must be the name of the PHP constant.
defined: WP_ENV
# This condition checks if a PHP function has been defined.
# Value to check must be the name of the PHP function you are checking for.
function_exists: get_current_screen
# This condition checks if a WordPress plugin is active.
# This is similar to "is_plugin_active()" except it also checks for mu-plugins.
# Value to check must be the name of the plugin sub-directory/file.
is_plugin_active: site-reviews/site-reviews.php
# This condition checks if a WordPress plugin is inactive or not installed.
# Value to check must be the name of the plugin sub-directory/file.
is_plugin_inactive: site-reviews/site-reviews.php
# The following conditions only apply in meta-boxes assigned to the "page" post_type:
# This condition checks if the current page has been assigned to the Front page in the WordPress Reading Settings.
# Value to check must be either true or false .
is_front_page: true
# This condition checks if the current page has been assigned to the Posts page in the WordPress Reading Settings.
# Value to check must be either true or false.
is_home: true
# This condition checks if the current page has been assigned a page template.
# Value to check must be the name of the theme template PHP file.
is_page_template: template-contact.php
You can also make meta-box field visibility dependant on whether or not another field has a value.
The depends
key can only be added to a meta-box field.
# Value to check must be the name of another meta-box field
depends: field_key_to_check_value_of
Here is an example meta-box entry that demonstrates the use of the depends
option:
seo_settings:
title: SEO Settings
fields:
seo_enabled:
type: checkbox
name: Enable SEO?
seo_title:
depends: seo_enabled
type: text
name: SEO Title
seo_keywords:
depends: seo_enabled
type: text
name: SEO Keywords
seo_description:
depends: seo_enabled
type: textarea
name: SEO Description