在Wordpress中使用CMB2添加具有自定义回调功能的自定义元框?

霍桑(M. K Hossain)

我正在wordpress中的一个项目上工作,在这里我正在使用CMB2插件来构建自定义元框和字段。但是在某种情况下,我需要一个带有自定义回调函数的自定义元框,以便在其中创建一些自定义动态字段。

我从cmb得到的是添加带有自定义回调的meta字段,例如

$cmb->add_field( array(
    'name'    => __( 'Test', 'cmb2' ),
    'id'      => $prefix . 'test',
    'type'    => 'text',
    'default' => 'prefix_set_test_default',
) );

打回来:

function prefix_set_test_default( $field_args, $field ) {
    return my_custom_fields;

}

我现在能做什么?

提前致谢

克里斯

您必须从CMB2的回调函数返回一个关联数组,以生成您的自定义字段。

这是有关如何从自定义帖子类型返回帖子下拉列表的示例:

$cmb->add_field( [
   'name'             => __( 'Posts dropdown', 'cmb2' ),
   'id'               => $prefix . 'dropdown',
   'type'             => 'select',
   'show_option_none' => true,
   'options_cb'       => 'get_my_custom_posts',
] );

回拨功能

function get_my_custom_posts() {
   $posts = get_posts( [ 'post_type' => 'my_custom_post_type' ] );
   $options = [];

   foreach ( $posts as $post ) {
      $options[ $post->ID ] = $post->post_title;
   }

   return $options;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章