#php #wordpress
#php #wordpress
Вопрос:
Я пытаюсь получить категории пользовательских типов сообщений и для каждой из этих категорий сообщений.
Это код, который у меня есть до сих пор
function display_receipess($atts){
$postArg = array(
'post_type'=>'receipe',
'posts_per_page'=>-1,
'order'=>'desc',
);
$getPost = new wp_query($postArg);
global $post;
if($getPost->have_posts()){
echo '<div class="row">';
while ( $getPost->have_posts()):$getPost->the_post();
$terms = get_the_terms($post->ID, 'category' );
echo '<div class="xol-xs-12 col-sm-4 col-md-3
col-lg-3">';
foreach ($terms as $term) {
echo "<h4>".$term_name = $term->name.'</h4>';
echo "<p>".$post->post_title."</p>";
}
echo '</div>';
endwhile;
echo '</div>';
}
}
Для получения категорий моего пользовательского типа сообщения все работает нормально, но если в одной категории более одного сообщения, она создает ту же категорию в другом div. Если в одной категории содержится более одного сообщения, оно должно отображаться в этой категории, а не в одной и той же категории каждый раз
Спасибо
Ответ №1:
Я надеюсь, что это решило вашу проблему
<?php
// get all the categories from the database
$cats = get_categories();
// loop through the categries
foreach ($cats as $cat) {
// setup the cateogory ID
$cat_id= $cat->term_id;
// Make a header for the cateogry
// create a custom wordpress query
query_posts("cat=$cat_idamp;posts_per_page=100amp;post_type=post");
// start the wordpress loop!
if (have_posts()){
echo "<h2>".$cat->name."</h2>";
while (have_posts()) : the_post(); ?>
<a href="<?php the_permalink();?>"><?php the_title(); ?></a>
<?php endwhile;
}
} // done the foreach statement
?>
Комментарии:
1. Спасибо за ваш ответ, это не сработало. С помощью исходного кода, который я опубликовал, я могу получить категории, единственная проблема заключается в том, что там, где в одной и той же категории более 1 сообщения, она дважды отображает одну и ту же категорию с разными сообщениями. prnt.sc/nc4ob5