页面发布类型的Metabox上下文

时间:2016-05-12 作者:MrFox

我想在标题下添加一个元框,但在编辑器之前,在页面上键入admin。我可以把它添加到帖子中,但不能添加到页面,我不明白为什么。

我用它添加了一个新的上下文,它将出现在标题下。

function buddydev_create_new_metboax_context( $post ) {

do_meta_boxes( null, \'custom-metabox-holder\', $post );
}
add_action( \'edit_form_after_title\', \'buddydev_create_new_metboax_context\'  );
这在帖子上非常有效,但如果我尝试将其添加到页面帖子类型中,元框将显示在文本编辑器下方,而不是上方。

这是我的metabox代码。

add_action( \'add_meta_boxes\', \'at_titles_meta_box\' );

function at_titles_meta_box($post){
add_meta_box(\'at_meta_box\', \'Add Title\', \'titles_meta_box\', array(\'page\'), \'custom-metabox-holder\');
}

add_action(\'save_post\', \'at_save_metabox\');

function at_save_metabox(){ 
global $post;
if(isset($_POST["tagline"])){
    //UPDATE: 
    $tagline = $_POST[\'tagline\'];
    $sub = $_POST[\'sub\'];

    //END OF UPDATE
    update_post_meta($post->ID, \'tagline\', $tagline);
    update_post_meta($post->ID, \'sub\', $sub);   
}
}

function titles_meta_box($post){
$tagline = get_post_meta($post->ID, \'tagline\', true); 
$sub = get_post_meta($post->ID, \'sub\', true);

?>   

<p>
<label for="tagline">Banner Strapline:</label>

<input class="widefat" type="text" name="tagline" id="tagline" value="<?php echo esc_attr( get_post_meta( $post->ID, \'tagline\', true ) ); ?>" size="30" />
<br /><br />
<label for="sub">Intro Section Title:</label>

<input class="widefat" type="text" name="sub" id="sub" value="<?php echo esc_attr( get_post_meta( $post->ID, \'sub\', true ) ); ?>" size="30" />
</p>

<?php
}

1 个回复
最合适的回答,由SO网友:Sumit 整理而成

存在覆盖初始元框顺序的用户设置(用户元数据)。所以,这取决于用户希望首先显示哪个元框。无论您定义的顺序如何,用户都可以拖放元盒,并按照自己想要的任何顺序排列它们。

您可以转到用户元表并找到名为meta-box-order_{post_type} e、 g。meta-box-order_page 删除此键的值,然后再次检查。

您的代码没有问题。

相关推荐

如何在WordPress开发中添加带有ACF自定义字段ID的自定义metabox字段

我是wordpress开发的新手,我在我的项目中安装了高级自定义字段插件,并创建了两个文本字段名称&;我还创建了一个插件,可以在帖子中创建一个带有文本框的元框。现在在帖子中,我将获得自定义字段名称(&A);电子邮件和我的自定义元框旁边将出现,但我必须将我的元框附加到名称字段旁边,即在名称字段和电子邮件字段之间。我的metabox代码如下。请任何人帮帮我//Creating the custom meta box function my_notice_meta_box() {