我有一个自定义帖子类型的推荐书,其工作方式与我期望的一样。以下是推荐书代码片段
add_action( 'init', 'register_cpt_testimonial' );
function register_cpt_testimonial() {
...
$args = array(
..
);
register_post_type( 'testimonial', $args );
}
然而,现在我想要花哨并添加元框,但我无法让它显示。
function testimonial_meta_boxes() {
add_meta_box( 'testimonial_form', 'Testimonial Details', 'testimonial_form', 'testimonial', 'side', 'high' );
}
function testimonial_form() {
$post_id = get_the_ID();
$testimonial_data = get_post_meta( $post_id, '_testimonial', true );
$client_name = ( empty( $testimonial_data['client_name'] ) ) ? '' : $testimonial_data['client_name'];
wp_nonce_field( 'testimonial', 'testimonial' );
?>
<p>
<label>Client's Name (optional)</label><br />
<input type="text" value="<?php echo $client_name; ?>" name="testimonial[client_name]" size="40" />
</p>
<?php
}
有人可以解释我在这里失踪的内容。我正在阅读https://developer.wordpress.org/reference/functions/add_meta_box/,但我没有得到我失踪的东西。
答案 0 :(得分:1)
你必须添加这个钩子add_action('add_meta_boxes', 'testimonial_meta_boxes');
add_action('add_meta_boxes', 'testimonial_meta_boxes');
function testimonial_meta_boxes() {
add_meta_box( 'testimonial_form', 'Testimonial Details', 'testimonial_form', 'testimonial', 'side', 'high' );
}