Moin, moin,
ich habe für eine WP-Seite, die von vielen Redakteuren betreut wird, zu einzelnen Custom-Post-Types Metaboxen im Adminbereich hinzugefügt. Da jeder Redakteur ohne Ende neue Tags erfinden würde, habe ich mich entschlossen, die bestehenden Tags als Checkboxen auszugeben. (s. Bild)
Der Code dazu sieht so aus:
Code
/*
* metabox GENRE
*/
function metabox_genre(){
$id = 'post_tag_genre';
$heading = 'genre';
$callback = 'metabox_content_genre';
$post_type = 'os_review';
$position = 'side';
$pri = 'default';
add_meta_box( $id, $heading, $callback, $post_type, $position, $pri );
}
add_action( 'admin_menu', 'metabox_genre');
/*
* Checkboxen
*/
function metabox_content_genre($post) {
$all_tags = get_terms( array('taxonomy' => 'review_genre', 'hide_empty' => 0) );
$all_tags_of_post = get_the_terms( $post->ID, 'review_genre' );
$ids = array();
if ( $all_tags_of_post ) {
foreach ($all_tags_of_post as $tag ) {
$ids[] = $tag->term_id;
}
}
// HTML
echo '<div id="taxonomy-post_tag" class="categorydiv">';
echo '<input type="hidden" name="tax_input[review_genre][]" value="0" />';
echo '<ul>';
foreach( $all_tags as $tag ){
$checked = "";
if ( in_array( $tag->term_id, $ids ) ) {
$checked = " checked='checked'";
}
$id = 'post_tag-' . $tag->term_id;
echo "<li id='{$id}'>";
echo "<label><input type='checkbox' name='tax_input[review_genre][]' id='in-$id'". $checked ." value='$tag->slug' /> $tag->name</label><br />";
echo "</li>";
}
echo '</ul></div>';
// end HTML
}
Alles anzeigen
Das Problem dabei ist, dass die Redakteure keine neuen Tags definieren können. Weiss jemand, wie man das zusätzlich noch einbauen kann? Das wäre super!
Danke
Raphael