如何将自定义元框带到自定义帖子类型中?

时间:2013-10-09 作者:John Doe

我在的帮助下创建了一个自定义元框this answer 但此元框仅出现在编辑后屏幕中。如何使其在“页面”以及由当前主题创建的自定义帖子类型上可见。

Update:代码来自function.php 添加自定义元框:

    /* Define the custom box */
add_action( \'add_meta_boxes\', \'wpse_61041_add_custom_box\' );

/* Do something with the data entered */
add_action( \'save_post\', \'wpse_61041_save_postdata\' );

/* Adds a box to the main column on the Post and Page edit screens */
function wpse_61041_add_custom_box() {
    add_meta_box( 
        \'wpse_61041_sectionid\',
        \'Does this page is in Englsih?\',
        \'wpse_61041_inner_custom_box\',
        \'post\',
        \'side\',
        \'high\'
    );
}
我不知道如何添加page &;custom-post-types 要做到这一点meta-box 在那里可见。

3 个回复
最合适的回答,由SO网友:Rahil Wazir 整理而成

您可以这样做:

function wpse_61041_add_custom_box() {
        //Place your custom post types in the array
        $post_types = array ( \'post\', \'page\', \'another_custom_post_type\' );

        //Then loop through all post types and add meta boxes to them
        foreach( $post_types as $post_type )
        {
           add_meta_box( 
             \'wpse_61041_sectionid\',
             \'Does this page is in Englsih?\',
             \'wpse_61041_inner_custom_box\',
             $post_type,
             \'side\',
             \'high\'
           );
        }
}

SO网友:Imperative Ideas

如果我们查看add\\u meta\\u box()函数,我们会发现它采用以下结构:

<?php
   add_meta_box( $id, $title, $callback, $post_type, $context, $priority, $callback_args );
?>
根据链接的教程,“post”是帖子类型,这就是为什么框只显示在那里。也许你会发现,用ACF生成元框内容,然后将PHP导出到你的主题中,这样就不那么麻烦了?

The manual solution is here (阿马比尔的解决方案)。

SO网友:Deepak Rajpal

我总是使用Meta-Box API,非常简单:

多个post meta示例:

结束

相关推荐

WordPress:可排序的Metabox字段不保存位置

我遇到了一个让我困惑的问题:升级到WP 3.6后,当您重新订购时,我的可排序metabox字段没有保存它们的位置。下面是我的代码:PHP:function save_box( $post_id ) { $post_type = get_post_type(); // verify nonce if ( ! isset( $_POST[\'custom_meta_box_nonce_field\'] ) ) return $p