Wordpress 如何在cmb2插件上创建条件字段?
我想为我的会员信息页面设置一个条件Wordpress 如何在cmb2插件上创建条件字段?,wordpress,Wordpress,我想为我的会员信息页面设置一个条件 $biometabox[] = array( 'id' => 'first-section', 'title' => 'Member Data', 'object_types' => array('dausfmembers'), 'fields' => array( array( 'name' => 'Gender',
$biometabox[] = array(
'id' => 'first-section',
'title' => 'Member Data',
'object_types' => array('dausfmembers'),
'fields' => array(
array(
'name' => 'Gender',
'type' => 'radio',
'id' => $dausf.'gender',
'options' => array(
'Male' => 'Male',
'Female' => 'Female'
)
),
array(
'name' => 'Gender',
'type' => 'radio',
'id' => $dausf.'mstatus',
'options' => array(
'Married' => 'Married',
'Single' => 'Single'
)
),
我想让如果女性和已婚显示在管理面板这个文件
array(
'name' => 'Husband Name',
'type' => 'text',
'id' => $dausf.'hname',
),
有人能帮我解决这个问题吗?“条件字段”似乎还没有集成到CMB2核心中。然而,有一个名为的插件可以帮助您实现所需的功能
安装和设置插件后,只需按如下方式设置字段即可实现:
特别注意'attributes'
键,您可以按照插件的说明使用它
$biometabox[] = array(
'id' => 'first-section',
'title' => 'Member Data',
'object_types' => array('dausfmembers'),
'fields' => array(
array(
'name' => 'Gender',
'type' => 'radio',
'id' => $dausf.'gender',
'options' => array(
'Male' => 'Male',
'Female' => 'Female',
),
'attributes' => array(
'required' => 'required',
)
),
array(
'name' => 'Gender',
'type' => 'radio',
'id' => $dausf.'mstatus',
'options' => array(
'Married' => 'Married',
'Single' => 'Single',
),
'attributes' => array(
'required' => 'required',
)
),
array(
'name' => 'Husband Name',
'type' => 'text',
'id' => $dausf.'hname',
'required' => true,
),
'attributes' => array(
'required' => true, // Will be required only if visible.
'data-conditional-id' => $prefix . 'gender',
'data-conditional-value' => 'Female',
),
'attributes' => array(
'required' => true, // Will be required only if visible.
'data-conditional-id' => $prefix . 'mstatus',
'data-conditional-value' => 'Married',
),
...
) );
您需要在此处检查插件的示例函数:
我希望你能设法使它发挥作用。祝您好运。尽管这可能有点复杂,但您也可以编写自定义jQuery脚本,根据所选选项显示和隐藏字段: 在您的主题目录中添加两个名为“js”和“css”的文件夹(如果它们还不存在的话) 然后在/js中创建一个名为“admin_scripts.js”的文件。并在/css中创建一个名为“admin.css”的文件 因此,您将有: 主题目录/css/admin.css
主题目录/js/admin\u scripts.js 在functions.php中添加以下内容:
function admin_scripts() {
// Adding custom admin scripts file
wp_enqueue_script( 'admin-js', get_template_directory_uri() . '/js/admin_scripts.js', array( 'jquery' ));
// Registering and adding custom admin css
wp_register_style( 'custom_wp_admin_css', get_template_directory_uri() . '/css/admin.css', false, '1.0.0' );
wp_enqueue_style( 'custom_wp_admin_css' );
}
.cmb2-field-to-display-on-select {
display:none;
}
然后在该函数下方添加:
add_action('admin_enqueue_scripts'、'admin_scripts')代码>
在js/admin_scripts.js中添加以下内容(记住将ID和类更改为字段的ID和类)
并在css/admin.css中添加以下内容:
function admin_scripts() {
// Adding custom admin scripts file
wp_enqueue_script( 'admin-js', get_template_directory_uri() . '/js/admin_scripts.js', array( 'jquery' ));
// Registering and adding custom admin css
wp_register_style( 'custom_wp_admin_css', get_template_directory_uri() . '/css/admin.css', false, '1.0.0' );
wp_enqueue_style( 'custom_wp_admin_css' );
}
.cmb2-field-to-display-on-select {
display:none;
}
它有一个链接,好像它应该在插件目录中,但实际上它不在那里,除非它更改了名称…@Andrew Welch-也许插件还没有被wordpress.org批准,或者作者输入了错误的链接。不管发生了什么,都可以直接从Github下载插件,并将其作为任何其他wordpress插件安装。