Meta Box will not display

时间:2014-10-17 作者:Randomer0011

我正试图让我的元框显示在博客索引中我的文章摘录的底部。我在网站上工作了10个小时,所以我想我是瞎了还是做错了?有人能看看我做错了什么吗?

这是我的元框数据:

 function true_add_a_metabox() {
    add_meta_box(
        \'true_metabox\', // metabox ID, it also will be it id HTML attribute
        \'Forum Discussion URL\', // title
        \'true_display_metabox\', // this is a callback functions, which will be print HTML of our metabox
        \'post\', // post type
        \'normal\', // position of the screen where metabox shoul be displayed (normal, side, advanced)
        \'high\' // priority over another metaboxes on this page (default, low, high, core)
    );
}


    add_action( \'admin_menu\', \'true_add_a_metabox\' );

    function true_display_metabox($post) {
    /*
     * needs for security checks
     */
    wp_nonce_field( basename( __FILE__ ), \'true_metabox_nonce\' );
    /*
     * lets add a simple textarea field
     */
    $html .= \'<p><label>Forum URL <input type="text" name="forumurl" value="\' . get_post_meta($post->ID, \'true_title\',true) . \'" /></label></p>\';

    /*
     * print all of this
     */
    echo $html;
}

    function true_save_post_meta( $post_id, $post ) {
    /* 
     * Security checks
     */
    if ( !isset( $_POST[\'true_metabox_nonce\'] ) || !wp_verify_nonce( $_POST[\'true_metabox_nonce\'], basename( __FILE__ ) ) )
        return $post_id;
    /* 
     * Check current user permissions
     */
    $post_type = get_post_type_object( $post->post_type );
    if ( !current_user_can( $post_type->cap->edit_post, $post_id ) )
        return $post_id;
    /*
     * Check if the autosave
     */
    if ( defined(\'DOING_AUTOSAVE\') && DOING_AUTOSAVE ) 
        return $post_id;

    if ($post->post_type == \'post\') { // define your own post type here
        update_post_meta($post_id, \'true_title\', esc_attr($_POST[\'forumurl\']));
    }
    return $post_id;
}

add_action( \'save_post\', \'true_save_post_meta\', 10, 2 );
我使用以下内容显示在模板中字段中输入的数据:

<a href="<?php echo get_post_meta( $post->ID, \'true_metabox\', true ); ?>">Discuss...</a>

2 个回复
SO网友:Prasad Nevase

尝试从以下位置链接第一个函数的操作挂钩:

add_action( \'admin_menu\', \'true_add_a_metabox\' );
至以下:

add_action( \'add_meta_boxes\', \'true_add_a_metabox\' );
另外,请确保选中“屏幕选项”下的“论坛讨论URL”,以确保它显示在编辑帖子屏幕上:)

SO网友:Prasad Nevase

@Randomer11-我无法对上述注释中的代码应用格式,因此再次将其发布在此处:

您需要使用元键而不是元框id获取值。使用下面的代码,它就会工作。如果没有,则需要确认使用$post->ID的上下文,以确保$post可用于获取post ID

<a href="<?php echo get_post_meta( $post->ID, \'true_title\', true ); ?>">Discuss...</a>

结束

相关推荐

在自定义帖子中上传WordPress metabox文件

我对wordpres的开发相对来说比较陌生,我一直都在关注这个问题。我已经创建了一个自定义的帖子类型,它显示在管理菜单中。我需要一个带有文件上传字段的元数据库。metabox显示良好,但未保存文件。我正在使用以下代码。任何帮助都将不胜感激。//////////////////Best Practices/////////////// add_action( \'init\', \'wpb_register_cpt_best_practices\' ); function