Создаю кастомный пост
register_post_type( 'delicious',
// CPT Options
array(
'labels' => array(
'name' => __( 'delicious' ),
'singular_name' => __( 'delicious' )
),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'delicious'),
'supports'=>array('title')
)
);
Потом делаю регистрацию taxonomy
register_taxonomy('taxonomy', array('delicious_tax'), array(
'label' => '', // определяется параметром $labels->name
'labels' => array(
'name' => 'delicious_tax',
'singular_name' => 'delicious_tax',
'menu_name' => 'Доп. категория',
),
'description' => '', // описание таксономии
'public' => true,
'publicly_queryable' => null, // равен аргументу public
'show_in_nav_menus' => true, // равен аргументу public
'show_ui' => true, // равен аргументу public
'show_in_menu' => true, // равен аргументу show_ui
'show_tagcloud' => true, // равен аргументу show_ui
'show_in_rest' => null, // добавить в REST API
'rest_base' => null, // $taxonomy
'hierarchical' => true,
//'update_count_callback' => '_update_post_term_count',
'rewrite' => true,
//'query_var' => $taxonomy, // название параметра запроса
'capabilities' => array(),
'meta_box_cb' => null, // html метабокса. callback: `post_categories_meta_box` или `post_tags_meta_box`. false — метабокс отключен.
'show_admin_column' => false, // Позволить или нет авто-создание колонки таксономии в таблице ассоциированного типа записи. (с версии 3.5)
'_builtin' => false,
'show_in_quick_edit' => null, // по умолчанию значение show_ui
) );
Делаю свзяку костом поста с таксономии
register_taxonomy_for_object_type('delicious_tax','delicious');
Далее в index.php делаю запросы
$drinks = new WP_Query( array(
'post_type' => 'delicious',
'tax_query' => array(
array(
'taxonomy' => 'drinks',
'field' => 'slug',
'terms' => 'drinks'
)
)
));
<?php
if( $drinks->have_posts() ){
while( $drinks->have_posts() ){
$drinks->the_post();
?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_content(); ?>
<?php
}
wp_reset_postdata(); // сбрасываем переменную $post
}
else
echo 'Записей нет.';
?>
В админку создал 3 подкатегории для delicious Напитики(слаг drinks).
записи нет выводит. Что не так ?
Результат WP_QueryWP_Query Object
(
[query] => Array
(
[post_type] => delicious
[tax_query] => Array
(
[0] => Array
(
[taxonomy] => drinks
[field] => slug
[terms] => drinks
)
)
)
[query_vars] => Array
(
[post_type] => delicious
[tax_query] => Array
(
[0] => Array
(
[taxonomy] => drinks
[field] => slug
[terms] => drinks
)
)
[error] =>
[m] =>
[p] => 0
[post_parent] =>
[subpost] =>
[subpost_id] =>
[attachment] =>
[attachment_id] => 0
[name] =>
[static] =>
[pagename] =>
[page_id] => 0
[second] =>
[minute] =>
[hour] =>
[day] => 0
[monthnum] => 0
[year] => 0
[w] => 0
[category_name] =>
[tag] =>
[cat] =>
[tag_id] =>
[author] =>
[author_name] =>
[feed] =>
[tb] =>
[paged] => 0
[meta_key] =>
[meta_value] =>
[preview] =>
[s] =>
[sentence] =>
[title] =>
[fields] =>
[menu_order] =>
[embed] =>
[category__in] => Array
(
)
[category__not_in] => Array
(
)
[category__and] => Array
(
)
[post__in] => Array
(
)
[post__not_in] => Array
(
)
[post_name__in] => Array
(
)
[tag__in] => Array
(
)
[tag__not_in] => Array
(
)
[tag__and] => Array
(
)
[tag_slug__in] => Array
(
)
[tag_slug__and] => Array
(
)
[post_parent__in] => Array
(
)
[post_parent__not_in] => Array
(
)
[author__in] => Array
(
)
[author__not_in] => Array
(
)
[ignore_sticky_posts] =>
[suppress_filters] =>
[cache_results] => 1
[update_post_term_cache] => 1
[lazy_load_term_meta] => 1
[update_post_meta_cache] => 1
[posts_per_page] => 10
[nopaging] =>
[comments_per_page] => 50
[no_found_rows] =>
[taxonomy] => drinks
[term] => drinks
[order] => DESC
)
[tax_query] => WP_Tax_Query Object
(
[queries] => Array
(
[0] => Array
(
[taxonomy] => drinks
[terms] => Array
(
[0] => drinks
)
[field] => slug
[operator] => IN
[include_children] => 1
)
)
[relation] => AND
[table_aliases:protected] => Array
(
)
[queried_terms] => Array
(
[drinks] => Array
(
[terms] => Array
(
[0] => drinks
)
[field] => slug
)
)
[primary_table] => wp_posts
[primary_id_column] => ID
)
[meta_query] => WP_Meta_Query Object
(
[queries] => Array
(
)
[relation] =>
[meta_table] =>
[meta_id_column] =>
[primary_table] =>
[primary_id_column] =>
[table_aliases:protected] => Array
(
)
[clauses:protected] => Array
(
)
[has_or_relation:protected] =>
)
[date_query] =>
[request] => SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND (
0 = 1
) AND wp_posts.post_type = 'delicious' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 10
[posts] => Array
(
)
[post_count] => 0
[current_post] => -1
[in_the_loop] =>
[comment_count] => 0
[current_comment] => -1
[found_posts] => 0
[max_num_pages] => 0
[max_num_comment_pages] => 0
[is_single] =>
[is_preview] =>
[is_page] =>
[is_archive] => 1
[is_date] =>
[is_year] =>
[is_month] =>
[is_day] =>
[is_time] =>
[is_author] =>
[is_category] =>
[is_tag] =>
[is_tax] => 1
[is_search] =>
[is_feed] =>
[is_comment_feed] =>
[is_trackback] =>
[is_home] =>
[is_privacy_policy] =>
[is_404] =>
[is_embed] =>
[is_paged] =>
[is_admin] =>
[is_attachment] =>
[is_singular] =>
[is_robots] =>
[is_posts_page] =>
[is_post_type_archive] => 1
[query_vars_hash:WP_Query:private] => ad5eac2a5058d9049340e4689a84490d
[query_vars_changed:WP_Query:private] =>
[thumbnails_cached] =>
[stopwords:WP_Query:private] =>
[compat_fields:WP_Query:private] => Array
(
[0] => query_vars_hash
[1] => query_vars_changed
)
[compat_methods:WP_Query:private] => Array
(
[0] => init_query_flags
[1] => parse_tax_query
)
)