从Metabox返回值的函数

时间:2012-12-28 作者:JPollock

我已经使用Meta Box插件为我的cpt books创建了两个自定义Metabox,我对如何输出值感到困惑。这些值需要在我的一个模板中的特定位置使用。我试过使用get_post_custom()get_post_meta() 但无法使其工作。

这是我的metabox模板:

add_action(\'admin_init\', \'rw_register_meta_boxes\');
function rw_register_meta_boxes()
{
    $prefix       = \'rw_\';
    $meta_boxes   = array();
    // Here is the code to define a meta box
    $meta_boxes[] = array(
        \'title\' => \'Amazon Affiliate Link\',
        \'pages\' => array(
            \'books\'
        ),
        \'fields\' => array(
            array(
                \'name\' => \'url\',
                \'id\' => $prefix . \'amz\',
                \'type\' => \'text\'
            )
        )
    );
    $meta_boxes[] = array(
        \'title\' => \'Subtitle\',
        \'pages\' => array(
            \'books\'
        ),
        \'fields\' => array(
            array(
                \'name\' => \'Subtitle\',
                \'id\' => $prefix . \'subt\',
                \'type\' => \'text\'
            )
        )
    );
    foreach ($meta_boxes as $meta_box) {
        new RW_Meta_Box($meta_box);
    }
}

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

我假设您使用了插件“Meta-Box”。如果您尝试使用这一行(例如亚马逊附属公司),它实际上应该可以很好地工作,只需替换$bookID 使用您的ID或获取\\u ID():

echo get_post_meta( $bookID, \'rw_amz\', true );
哦,我刚看到你打开了两个array 定义字段时,正确的代码应为:

add_action( \'admin_init\', \'rw_register_meta_boxes\' );
function rw_register_meta_boxes() {
    $prefix = \'rw_\';
    $meta_boxes = array();
    // Here is the code to define a meta box
    $meta_boxes[] = array(
        \'title\'    => \'Amazon Affiliate Link\',
        \'pages\'    => array( \'books\' ),
        \'fields\' => array(
            \'name\' => \'url\',
            \'id\'   => $prefix . \'amz\',
            \'type\' => \'text\',
        )
    );
    $meta_boxes[] = array(
        \'title\'    => \'Subtitle\',
        \'pages\'    => array( \'books\' ),
        \'fields\' => array(
            \'name\' => \'Subtitle\',
            \'id\'   => $prefix . \'subt\',
            \'type\' => \'text\',
        )
    );
    foreach ( $meta_boxes as $meta_box ) {
        new RW_Meta_Box( $meta_box );
    }
}

结束

相关推荐

使自定义POST类型的Metabox完全自动保存和批量/快速编辑兼容

我正在尝试创建一个自定义的帖子类型,我遇到了与上面描述的相同的问题here; 手动保存时,我的自定义元信息已正确保存,但在autosave ajax至少运行一次后就丢失了。因此,我现在使用所示的解决方案来解决此问题:function save_stationinfo($post_id) { if((defined(\'DOING_AUTOSAVE\') && DOING_AUTOSAVE) || (defined(\'DOING_AJAX\') && DOI