Ich habe einen benutzerdefinierten Beitragstyp namens portfolio
und ich versuche, die Taxonomie der Tags hinzuzufügen. Wie mache ich das?
Ich habe einen benutzerdefinierten Beitragstyp namens portfolio
und ich versuche, die Taxonomie der Tags hinzuzufügen. Wie mache ich das?
Antworten:
Wie folgt: (In "Portfolio" wird die Taxonomie für einen Beitragstyp registriert
add_action( 'init', 'create_tag_taxonomies', 0 );
//create two taxonomies, genres and tags for the post type "tag"
function create_tag_taxonomies()
{
// Add new taxonomy, NOT hierarchical (like tags)
$labels = array(
'name' => _x( 'Tags', 'taxonomy general name' ),
'singular_name' => _x( 'Tag', 'taxonomy singular name' ),
'search_items' => __( 'Search Tags' ),
'popular_items' => __( 'Popular Tags' ),
'all_items' => __( 'All Tags' ),
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => __( 'Edit Tag' ),
'update_item' => __( 'Update Tag' ),
'add_new_item' => __( 'Add New Tag' ),
'new_item_name' => __( 'New Tag Name' ),
'separate_items_with_commas' => __( 'Separate tags with commas' ),
'add_or_remove_items' => __( 'Add or remove tags' ),
'choose_from_most_used' => __( 'Choose from the most used tags' ),
'menu_name' => __( 'Tags' ),
);
register_taxonomy('tag','portfolio',array(
'hierarchical' => false,
'labels' => $labels,
'show_ui' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'rewrite' => array( 'slug' => 'tag' ),
));
}
?>
Oder einfach hinzufügen:
'taxonomies' => array('post_tag')
Eine Reihe registrierter Taxonomien wie
category
oderpost_tag
, die für diesen Beitragstyp verwendet werden. Dies kann anstelle einesregister_taxonomy_for_object_type()
direkten Anrufs verwendet werden. Benutzerdefinierte Taxonomien müssen noch registriert werdenregister_taxonomy()
.
zu dem $args
Array in der functions.php
-Datei, in dem Sie den benutzerdefinierten Beitragstyp mit erstellen register_post_type()
.
Benutze das:
add_action( 'init', 'gp_register_taxonomy_for_object_type' );
function gp_register_taxonomy_for_object_type() {
register_taxonomy_for_object_type( 'post_tag', 'portfolio' );
};
Verwenden Sie einfach diesen Code, es kann Ihnen helfen
add_action( 'init', 'create_client_tax' );
function create_client_tax() {
register_taxonomy(
'client_tag', //your tags taxonomy
'client', // Your post type
array(
'hierarchical' => false,
'label' => __( 'Tags', CURRENT_THEME ),
'singular_name' => __( 'Tag', CURRENT_THEME ),
'rewrite' => true,
'query_var' => true
)
);
}
Methode 1 (aus den obigen Antworten: https://wordpress.stackexchange.com/a/106211/38771 )
Verschiedene Beitragstypen verwenden dieselben "Tags" -Daten des Standard-Beitragstyps.
Leistungen
Alles (sollte) funktioniert von Anfang an mit einer Zeile
Alle Ihre Tags an einem Ort im CMS
Nachteile
Methode 2 (aus den obigen Antworten: https://wordpress.stackexchange.com/a/62263/38771 )
Verschiedene Beitragstypen verwenden unterschiedliche "Tags" -Konfigurationen / -daten.
Leistungen
Abtausch
Ein bisschen mehr Code zum Einrichten
In Wahrheit sind sie eine äußerst mächtige Möglichkeit, verschiedene Gegenstände auf verschiedenste Weise zu gruppieren. https://codex.wordpress.org/Taxonomies#Custom_Taxonomies