it-swarm.com.de

Begrenzen Sie eine Meta-Box auf eine bestimmte Kategorie

Ich versuche, eine meta_box auf Beiträge in einer bestimmten Kategorie zu beschränken. Ich verwende diese Methode: http://www.farinspace.com/page-specific-wordpress-meta-box/ und sie funktioniert ziemlich gut. Aber ich kann sie anscheinend nicht dazu bringen, mit Kategorien zu arbeiten. Hier ist mein Code:

<?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');
    }
}
?>

Ich habe das Gefühl, einen Schritt zu verpassen. Gedanken oder Ideen?

Vielen Dank,

Nadine

2
Nadine

Ich bin einfach einen anderen Weg gegangen und habe keine Kategorien verwendet.

0
Nadine

Vielleicht möchten Sie seinen anderen Beitrag überprüfen: http://www.farinspace.com/show-hide-meta-box-by-category/

Ich nehme an, Sie benötigen Javascript, denn wenn Sie die Kategorien ändern, benötigt der Browser eine Möglichkeit, die Anzeige der Metabox auszulösen, daher Javascript.

Er hat ein Video-Tutorial, damit sollte alles erklärt werden. Da Sie bereits sein Blog lesen, können Sie auch seine Klasse WPAlchemy_MetaBox ausprobieren. Ich benutze es jedes Mal in meinen Themen und ich liebe es.

2
Evan Yeung

$post->post_category gibt ein Array zurück. Sie sollten also so vorgehen

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