add_meta_box()输入字段显示在页面顶部

问题描述 投票:0回答:1

感谢您抽时间阅读。我已经看过任何类似的问题,但没有找到这样的案例。这可能是非常愚蠢的事情。这是我第一次使用add_meta_box()

基本上,我正在尝试将一个元框添加到自定义帖子类型。字段本身正在显示,但它位于页面顶部(通常出现错误)

看截图:

meta_box displaying at the top of page

这是我用于添加框和回调的代码。这是课堂内部。

public function room_settings_meta_box() {
    add_meta_box(
        'room-settings',
        __( 'Room Settings', 'book-it' ),
        'room_settings_meta_box_callback',
        'rooms'
    );
}

public function room_settings_meta_box_callback( $post ) {

    wp_nonce_field( 'room_settings_nonce', 'room_settings_nonce' );

    $value = get_post_meta( $post->ID, 'room-settings', true );

    echo '<input style="width:100%" id="room-settings" value = "' . esc_attr( $value ) . '" name="room-settings">';
}

我也有点卡住了get_post_meta($key)。那是元箱ID吗?

我看到的其他例子似乎都是从underscore (_META_KEY)开始的

如果我自己找到解决方案,我会确保编辑它。

wordpress custom-post-type
1个回答
0
投票

我怀疑您需要设置wordpress add_meta_box()的第5个上下文参数,并声明您希望元框出现在“普通”上下文中。

public function room_settings_meta_box() {
    add_meta_box(
        'room-settings',
        __( 'Room Settings', 'book-it' ),
        'room_settings_meta_box_callback',
        'rooms',
        'normal',
        'high'
    );
}

以我的RaceCPT.php为例

© www.soinside.com 2019 - 2024. All rights reserved.