How to make a meta box?

时间:2012-09-15 作者:chea

我想在自定义帖子类型上创建一个包含名称和URL输入的元框。

我希望结果显示在我的帖子内容中。我有一个电影评论网站。例如,我希望它看起来像这样:

Mission Impossible 5 (2012)

<伊桑·亨特又在做这件事了,但这次是针对个人的。邪恶的元盒代码阻止了他建立自己的网站

Youtube Link: youtube.com/blahblah

2 个回复
SO网友:Daniel Sachs

Imho,最快的方法是使用Meta Box Wrapper Class, 这是一个插件。下载并激活它。

Next in your functions.php add the following:

$prefix = \'cheas_cool_metabox_\';
global $meta_boxes;
$meta_boxes = array();

$meta_boxes[] = array(
    \'id\' => \'movie_reviews\',
    \'title\' => \'Movie Review\',
    //Change the next line if you want to display on another post type
    \'pages\' => array( \'post\' ),
    \'context\' => \'side\',
    \'priority\' => \'high\',

    // List of meta fields
    \'fields\' => array(
        array(
            // Field name - Will be used as label
            \'name\' => \'Movie Title\',
            // Field ID, i.e. the meta key
            \'id\' => $prefix . \'movie_title\',
            \'type\'  => \'text\',
        ),
        array(
            \'name\' => \'Review\',
            \'id\' => $prefix . \'movie_review\',
            \'type\'  => \'textarea\',
        ),
        array(
            \'name\' => \'Link\',
            \'id\' => $prefix . \'movie_link\',
            \'desc\' => \'Youtube Link\',
            \'type\'  => \'text\',
        ),
    ),

);


function cheas_cool_metabox_register_meta_boxes()
{
    global $meta_boxes;

    if ( class_exists( \'RW_Meta_Box\' ) )
    {
        foreach ( $meta_boxes as $meta_box )
        {
            new RW_Meta_Box( $meta_box );
        }
    }
}
add_action( \'admin_init\', \'cheas_cool_metabox_register_meta_boxes\' );

Now all you need to do is to call it on your post page:

Movie: <?php echo rwmb_meta( \'cheas_cool_metabox_movie_title\' ); ?>
Review: <?php echo rwmb_meta( \'cheas_cool_metabox_movie_review\' ); ?>
Watch Trailer for <a href="<?php echo rwmb_meta( \'cheas_cool_metabox_movie_link\' ); ?>" target="_blank"><?php echo rwmb_meta( \'cheas_cool_metabox_movie_title\' ); ?></a>
这应该可以满足您的需要,但请查看主插件目录中的demo文件夹,以查看更多不同元框类型的示例

SO网友:bryceadams

您需要做的事情分为两部分:

创建元字段(Youtube URL)对于第一部分,有大量可用的文档,只需搜索“创建自定义元字段/框”,然后继续。这是an example 如何做到这一点。对于第二个,只需在相关模板文件中输出所需的元字段。

结束

相关推荐

<form> inside a metabox

我正在尝试编写一个插件,允许用户通过Vimeo上载API将视频上载到Vimeo。为了避免试图将视频上传到可能共享的托管帐户,然后再从那里上传到Vimeo,我正试图通过其POST可用性直接上传到Vimeo-https://developer.vimeo.com/apis/advanced/upload#post为此,我必须在一个称为“Vimeo”的自定义帖子类型的元框中放置一个表单,但wordPress正在从返回的HTML源中过滤标签及其属性。有没有办法防止这种情况发生,或者我采取了错误的方法?我相信我可能