Помощь в произвольной таксономии — права пользователей
Не могу вывести выборку постов из произвольной таксономии на странице поста. Для админа работает , для других выводит посты из всех таксономий.
Походу где-то накосячил с правами.
вот таксономия
/*
* Tax series
*/
add_action( 'init', 'create_series_taxonomies' );
function create_series_taxonomies(){
// Добавляем древовидную таксономию 'genre' (как категории)
register_taxonomy('post_series', 'post', array(
'hierarchical' => true,
'labels' => array(
'name' => _x( 'Series', 'taxonomy general name' ),
'singular_name' => _x( 'Series', 'taxonomy singular name' ),
'search_items' => __( 'Search Series' ),
'all_items' => __( 'All Series' ),
'parent_item' => __( 'Parent Series' ),
'parent_item_colon' => __( 'Parent Series:' ),
'edit_item' => __( 'Edit Series' ),
'update_item' => __( 'Update Series' ),
'add_new_item' => __( 'Add New Series' ),
'new_item_name' => __( 'New Series Name' ),
'menu_name' => __( 'Series' ),
),
'show_ui' => true,
// 'public' => true, этого параметра не было, потом включил - не помогло
'rewrite' => array( 'slug' => 'series' ) // свой слаг в URL
));
}
вот тест как писал KAMA
$posts_test = get_posts( [
'numberposts' => 5,
// 'post_type' => 'post',
'tax_query' => [
[
'taxonomy' => 'post_series',
'field' => 'term_id', // тут можно указать slug и ниже вписать ярлыки нужных рубрик
'terms' => [ 6793 ],
]
],
'order' => 'ASC',
] );
foreach ($posts_test as $mypost) {
echo $mypost->post_title . '<br/>';
}
// print_r( $posts_test );
пока что решил так
$terms = get_the_terms( $post_id, 'post_series' ); $terms_name = wp_list_pluck( $terms, 'name' ); $query = new WP_Query( [ 'post_series' => $terms_name[0], 'order' => 'ASC', 'orderby' => 'meta_value_num' // 'meta_key' => 'srs_pt', ]); while ( $query->have_posts() ) { $query->the_post(); echo $query->ID ; } wp_reset_postdata();2 вариант
$terms = get_the_terms( $post_id, 'post_series' ); $terms_name = wp_list_pluck( $terms, 'name' ); $posts = get_posts( array( 'post_series' => $terms_name[0], 'order' => 'ASC', 'orderby' => 'meta_value_num' ) ); foreach( $posts as $post ){ echo $title = get_the_title( $query->ID ); } wp_reset_postdata();