感谢您抽出宝贵的时间阅读本文。我已经浏览过任何类似的问题,但没有找到类似的案例。这可能真的很愚蠢。这是我第一次使用add_meta_box()
。
基本上,我正在尝试向自定义帖子类型添加一个meta框。该字段本身正在显示,但位于页面顶部(通常会出现错误)的右侧
查看屏幕截图:
这是我用来添加框和回调的代码。这是在课堂中。
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)
也有些困惑。那是meta-box ID吗?
我看到的所有其他示例似乎都以underscore (_META_KEY)
如果我自己找到解决方案,我将确保对其进行编辑。
答案 0 :(得分: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为例