0

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']);

}

エラーは発生していませんが、ページに何も表示されません。ここで私が間違っていることを教えてください。

4

1 に答える 1

1

パラメータを渡してみてください。

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

add_meta_boxes_{post_type}また、ベスト プラクティスとして試して使用することもできます。

于 2013-11-16T05:29:33.860 に答える