元框数据将保存,但不会显示在元框文本字段中。为什么?

时间:2015-09-07 作者:Foolish Coder

我有一个自定义的帖子类型,我使用以下代码创建了它。

/* DRAMAS */
register_post_type(\'dramas\', array(
    \'label\' => \'Dramas\',
    \'show_ui\' => true,
    \'supports\' => array(\'title\', \'thumbnail\', \'custom-fields\', \'description\'),
    \'labels\' => array (
        \'name\' => \'Dramas\',
        \'singular_name\' => \'Drama\',
        \'menu_name\' => \'Dramas\'
    ),
) );
元框标记的以下代码

<?php
function custom_meta_box_markup() {
    $meta_box_text = get_post_meta( $post->ID, \'meta-box-text\' );
    ?>
        <div>
            <label for="meta-box-text">Day</label>
            <input name="meta-box-text" type="text" value="<?php if ($meta_box_text) { echo $meta_box_text; }?>">
        </div>
<?php } ?>
我的元框代码是:

function add_custom_meta_box()
{
    $id             = \'demo-meta-box\';
    $title          = \'Schedule\';
    $callback       = \'custom_meta_box_markup\';
    $screen         = \'dramas\';
    $context        = \'side\';
    $priority       = \'high\';
    $callback_args  = \'null\';
    add_meta_box($id, $title, $callback, $screen, $context, $priority, $callback_args);
}

add_action("add_meta_boxes", "add_custom_meta_box");
现在我看到的元框如下所示:

META BOX SCREEN SHOT

我现在可以更新这些值并发布帖子了。但是,当我在上面的metabox中添加某个东西并发布它时,它会显示在编辑器后面的自定义字段上。NOT displayed 在(日程表)元框(日期)字段上。

custom filed

为什么会这样?我如何解决这个问题?

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

试试这个。。

function custom_meta_box_markup() {
    global $post;
    $meta_box_text = get_post_meta( $post->ID, \'meta-box-text\', true );
    ?>
        <div>
            <label for="meta-box-text">Day</label>
            <input name="meta-box-text" type="text" value="<?php echo $meta_box_text;?>">
        </div>
<?php }
你错过了$post 保存post数据的全局变量。

相关推荐

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

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