WordPress показать теги, принадлежащие пользовательскому типу записи

Я создал пользовательский тип записи под названием «портфолио» и добавил в редактор столбец тегов, используя:

register_taxonomy_for_object_type( 'post_tag', 'portfolio'  );

После добавления виджета тегов на боковую панель отображаются все теги всех моих сообщений. Как я могу показать теги, которые относятся только к типу записи «портфолио»?

Также есть ли способ изменить имя по умолчанию «Теги» для типа сообщения портфолио на «Теги портфолио»?

0

Решение

Самый простой способ достичь этого — создать собственную таксономию. Это также единственный способ изменить имя ваших тегов на теги портфолио.

Для этого вы можете использовать register_taxonomy ():

// Register Custom Taxonomy
function portfolio_tags_taxononmy() {

$labels = array(
'name'                       => 'Portfolio Tag',
'singular_name'              => 'Portfolio Tag',
'menu_name'                  => 'Portfolio Tags',
'all_items'                  => 'All Portfolio Tags',
'parent_item'                => 'Parent Portfolio Tag',
'parent_item_colon'          => 'Parent Portfolio Tag:',
'new_item_name'              => 'New Portfolio Tag',
'add_new_item'               => 'Add New Portfolio Tag',
'edit_item'                  => 'Edit Portfolio Tag',
'update_item'                => 'Update Portfolio Tag',
'separate_items_with_commas' => 'Separate Portfolio Tags with commas',
'search_items'               => 'Search Portfolio Tags',
'add_or_remove_items'        => 'Add or remove Portfolio Tags',
'choose_from_most_used'      => 'Choose from the most used Portfolio Tags',
'not_found'                  => 'Not Found',
);
$args = array(
'labels'                     => $labels,
'hierarchical'               => false,
'public'                     => true,
'show_ui'                    => true,
'show_admin_column'          => true,
'show_in_nav_menus'          => true,
'show_tagcloud'              => true,
);
register_taxonomy( 'portfolio-tags', array( 'portfolio' ), $args );

}

// Hook into the 'init' action
add_action( 'init', 'portfolio_tags_taxononmy', 0 );

Теперь вы можете использовать «портфолио-теги» вместо «post_tag»:

register_taxonomy_for_object_type( 'portfolio-tags', 'portfolio' );

Чтобы создать облако тегов, вы можете использовать wp_tag_cloud ():

wp_tag_cloud( array( 'taxonomy' => 'portfolio-tags' ) );
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]