我想获取所有类别和属于类别的post,为了获取所有类别,我使用以下代码
$cat_args = array(
'taxonomy' => 'article-category',
'orderby' => 'menu_order',
'order' => 'ASC',
'hierarchical' => true,
'parent' => 0,
'hide_empty' => true,
'child_of' => 0
);
$get_categories = get_categories( $cat_args );
要用文章类型获取所有文章,我将使用以下代码
$query = new WP_Query(array(
'post_type' => 'article',
'post_status' => 'publish',
'posts_per_page' => -1,
));
while ($query->have_posts()) {
$query->the_post();
$post_id = get_the_ID();
}
这给出了一个单独循环中的所有类别的列表和所有类型文章的列表,不过,我想要的是这行中的内容。
Category 1
- Post 1 Title
- Post 2 Title
- Post 3 Title
Category 2
- Post 4 Title
- Post 5 Title
- Post 6 Title
- Post 7 Title
...
...
我基本上是想获取属于这个类别的所有类别和文章类型的文章,我尝试了许多不同的方法,但是似乎没有什么结果,怎么做呢?
谢谢。
发布于 2017-04-21 13:17:05
请尝试下面的答案,因为您需要在循环中进一步应用word新闻代码,以获得适当格式的数据。您可以根据您的具体设计设置UL / LI,方法是移除和
标签从地雷代码成功地显示数据后。
$cat_args = array(
'taxonomy' => 'article-category',
'orderby' => 'menu_order',
'order' => 'ASC',
'hierarchical' => true,
'parent' => 0,
'hide_empty' => true,
'child_of' => 0
);
$get_categories = get_categories( $cat_args );
foreach($get_categories as $get_category){
$ids[] = $get_category->term_id;
}
$finalCatPostData = '';
foreach($ids as $id){
$finalCatPostData .= '<h2>'.get_cat_name( $id ).'</h2>';
$args = array(
'category' => $id,
'orderby' => 'date',
'post_type' => 'article',
'post_status' => 'publish',
'suppress_filters' => true,
'posts_per_page' => -1,
);
$posts_array = get_posts( $args );
foreach($posts_array as $post){
$finalCatPostData .= '<p>'.$post->post_title.'</p>';
}
}
echo $finalCatPostData;
输出:
cat 1
post 1 of cat 1
post 2 of cat 1
cat 2
post 1 of cat 2
post 2 of cat 2
cat 3
post 1 of cat 3
post 2 of cat 3
https://stackoverflow.com/questions/43543306
复制相似问题