Intereting Posts
Добавить новое сообщение только в назначенной категории Как реализовать JavaScript и CSS-файл для моей главной страницы WordPress? Публикация записей в формате сценария Персонализация поиска Используйте папку темы вместо plugins_url WordPress с поддержкой имени пользователя и файлового менеджера Исключение сообщений из категории, но только если они не входят в несколько категорий Мета-поле (в пользовательском типе сообщений) с двумя полями разных типов Подсчет полей сообщений Почему, когда я отправляю форму в wordpress, она загружает 404 страницы, хотя URL-адрес правильный Запрос столбцов базы данных WordPress Перенаправление WordPress Когда строка запроса содержит номер Пользователь BuddyPress пользователя в профиле Не удалось получить Предварительный просмотр загруженного изображения в пользовательском мета-окне тип персонализированного почтового отправления и таксономия переписываются без налогового названия

Как отобразить пользовательские таксономии со ссылками в меню фильтров?

С двух дней я пытаюсь решить проблему с пользовательскими таксономиями (категориями). У меня есть тип пользовательской почты, называемый «Портфолио», и он работает так, как ожидалось, но проблема связана с моей иерархической таксономией, которую я зарегистрировал. Я дал ему имя: «галереи». Вместо отображения пользовательских таксономий он просто показывает категории по умолчанию из моего блога. Я нашел некоторые подобные проблемы здесь, но я действительно не знаю, как принять другие решения в моем случае. К сожалению, я совершенно новичок в WordPress. Кто-нибудь может мне помочь?

Это код из моего loop.php, который является шаблоном моего настраиваемого типа сообщений (это моя домашняя страница):

<div id="filtering-nav"> <a href="#" class="filter-btn"><span>Filter</span></a> <ul> <li><a href="#all" class="all">All</a></li> <?php $args=array('orderby' => 'name'); $galleries=get_categories($args); foreach($galleries as $gallery){ ?> <li><a href="#<?php echo $gallery->gallery_nicename; ?>" class="<?php echo $gallery->gallery_nicename; ?>"><?php echo $gallery->name; ?></a></li> <?php } ?> </ul> <div class="clearfix"></div> 

Вот код из моего function.php:

 add_action('init', 'portfolio_register'); function portfolio_register() { $labels = array( 'name' => _x('My Portfolio', 'post type general name'), 'singular_name' => _x('Portfolio Item', 'post type singular name'), 'add_new' => _x('Add New', 'portfolio item'), 'add_new_item' => __('Add New Portfolio Item'), 'edit_item' => __('Edit Portfolio Item'), 'new_item' => __('New Portfolio Item'), 'view_item' => __('View Portfolio Item'), 'search_items' => __('Search Portfolio'), 'not_found' => __('Nothing found'), 'not_found_in_trash' => __('Nothing found in Trash'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'menu_icon' => get_stylesheet_directory_uri() . '/images/portfolio-icon.png', 'rewrite' => true, 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => null, 'supports' => array('title','editor','author','thumbnail','comments') ); register_post_type( 'portfolio' , $args ); flush_rewrite_rules(); } // Custom taxonomy for Portfolio Categories (Galleries) register_taxonomy('galleries', array('portfolio'), array('hierarchical' => true, 'label' => 'Galleries', 'singular_label' => 'Gallery', 'rewrite' => true, 'public' => true )); 

Заранее спасибо!

Solutions Collecting From Web of "Как отобразить пользовательские таксономии со ссылками в меню фильтров?"

 <div id="filtering-nav"> <a href="#" class="filter-btn"><span>Filter</span></a> <ul> <li><a href="#all" class="all">All</a></li> <?php $args=array('orderby' => 'name','taxonomy'=>'galleries'); $galleries=get_categories($args); foreach($galleries as $gallery){ ?> <li><a href="<?php echo get_category_link( $gallery->term_id ) ; ?>" class="<?php echo $gallery->gallery_nicename; ?>"><?php echo $gallery->name; ?></a></li> <?php } ?> </ul> <div class="clearfix"></div> 

Когда вы передаете аргумент функции get_categories, вам необходимо передать имя таксономии в качестве параметра таксономии для извлечения таксономии вместо категорий …

Вот полная ссылка.

http://codex.wordpress.org/Function_Reference/get_categories

Сравните свой код с ниже, вам не хватает таксономии в args в типе регистрации и переписывайте slug в пользовательской таксономии arg. Ниже код работает отлично.

 $custom_slug = get_option('slug') != '' ? get_option('slug') : 'portfolio'; $args = array( 'labels' => array( 'name' => __('Portfolio'), 'singular_name' => __('Portfolio Project'), 'add_new' => __('Add Project'), 'add_new_item' => __('Add Project'), 'new_item' => __('Add Project'), 'view_item' => __('View Project'), 'search_items' => __('Search Portfolio'), 'edit_item' => __('Edit Project'), 'all_items' => __('Complete Portfolio'), 'not_found' => __('No Projects found'), 'not_found_in_trash' => __('No Projects found in Trash') ), 'taxonomies' => array('portfolio-categories', 'portfolio-clients', 'portfolio-tags'), 'public' => true, 'show_ui' => true, '_builtin' => false, '_edit_link' => 'post.php?post=%d', 'capability_type' => 'post', 'rewrite' => array('slug' => __($custom_slug)), 'hierarchical' => false, 'menu_position' => 20, 'menu_icon' => WP_PLUGIN_URL . '/portfolio/images/icon.jpg', 'supports' => array('title', 'editor') ); /** create portfolio categories (taxonomy) */ register_taxonomy('portfolio-categories', 'project', array( 'hierarchical' => true, 'show_ui' => true, 'rewrite' => array('slug' => __($custom_slug . '/category')), 'labels' => array( 'name' => __('Portfolio Categories'), 'singular_name' => __('Portfolio Category'), 'search_items' => __('Search Portfolio Categories'), 'popular_items' => __('Popular Portfolio Categories'), 'all_items' => __('All Portfolio Categories' ), 'parent_item' => __('Parent Portfolio Category'), 'parent_item_colon' => __('Parent Portfolio Category'), 'edit_item' => __('Edit Portfolio Category'), 'update_item' => __('Update Portfolio Category'), 'add_new_item' => __('Add New Portfolio Category'), 'new_item_name' => __('New Portfolio Category'), 'separate_items_with_commas' => __('Separate Portfolio Categories with commas'), 'add_or_remove_items' => __('Add or remove Portfolio Categories'), 'choose_from_most_used' => __('Choose from the most used Portfolio Categories') ) )); /** create new custom post type */ register_post_type('portfolio', $args);