web-dev-qa-db-ja.com

メタボックスを特定のカテゴリに制限する

特定のカテゴリの投稿にmeta_boxを制限しようとしています。私はこの方法を使っています: http://www.farinspace.com/page-specific-wordpress-meta-box/ そしてそれはかなりうまく機能しますしかし、私はそれをカテゴリーでうまく動かすことができないようです。ヘレスの私のコード:

<?php 
// meta box for news category
add_action('admin_init','news_init');

function news_init(){

    $post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ;

    $post = get_post($post_id);

    if ($post->post_category == '6'){
    add_meta_box('news_details', 'News Details', 'news_details', 'post');
    }
}
?>

私は一歩も足りない気がします。考えやアイデア?

ありがとうございました、

ナディーン

2
Nadine

これを別の方法で実行しただけで、カテゴリは使用されませんでした。

0
Nadine

あなたは彼の他の記事をチェックしたいと思うかもしれません: http://www.farinspace.com/show-hide-meta-box-by-category/

カテゴリを変更すると、ブラウザがメタボックスを表示するためのトリガーとなる方法、つまりJavaScriptが必要になるため、JavaScriptが必要になると思います。

彼はビデオチュートリアルを持っています、それでそれはすべてを説明するのを助けるべきです。また、あなたはすでに彼のブログを読んでいるので、彼のWPAlchemy_MetaBox Classを試してみるのもいいかもしれません。私はそれを私のテーマの中で毎回使っています、そして私はそれが大好きです。

2
Evan Yeung

$post->post_categoryは配列を返しているので、つま先は次のようになります。

if ($post->post_category[0] == '6'){
   add_meta_box('news_details', 'News Details', 'news_details', 'post');
}
0
Sebastian