Meta Box未显示在管理页面中

时间:2013-11-16 01:18:52

标签: wordpress custom-post-type meta-boxes

使用WordPress 3.7.1和PHP 5.4.12我试图在我的自定义帖子类型中添加一个元框 - 文本字段。我的自定义帖子类型名称是“新闻”,这是我的代码:

<?php
/* Custom Meta Boxex */
add_action('add_meta_boxes', 'my_cmbox_add');
add_action('save_post', 'save_options');
function my_cmbox_add()
{
    add_meta_box(
        "prodInfo-meta",
        "News Source ",
        "news_source",
        "news",
        "normal",
        "low"
    );
}
function news_source()
{
    global $post;
    $custom = get_post_custom($post->ID);
    $source = $custom['source'][0];

?>
<table>
<tr>
  <td><?php echo '<label>News Source :</label>'; ?></td>
  <td><?php echo '<input name="source" value="'. $source . '" style="width:250px;" />'; ?></td>
</tr>
</table>
<?php
}
function save_options()
{
    global $post;
    if (!isset($_POST['source']) || $post->post_type != 'news')
    {
        return $post;
    }
    update_post_meta($post->ID, "source", $_POST['source']);

}

我没有收到任何错误,但正如我所说,页面中没有显示任何内容。你能告诉我这里我做错了什么吗?

1 个答案:

答案 0 :(得分:1)

尝试传递参数。

function my_cmbox_add()( $post_type, $post );

您也可以尝试使用add_meta_boxes_{post_type}进行最佳操作。