programing

워드프레스 범주에서 루프

stoneblock 2023. 4. 4. 20:51

워드프레스 범주에서 루프

워드프레스는 처음이라 카테고리 루프를 만들기 위해 머리를 뽑고 있습니다.루프는 다음과 같습니다.

  1. 모든 카테고리를 루프하다
  2. 카테고리명을 에코아웃(링크 포함)
  3. 그 카테고리의 마지막 5개의 투고를 에코아웃한다(퍼멀링크를 투고한다).

각각의 html은 다음과 같습니다.

<div class="cat_wrap">
   <div class="cat_name">
       <a href="<?php get_category_link( $category_id ); ?>">Cat Name</a>
   </div>
   <ul class="cat_items">
      <li class="cat_item">
         <a href="permalink">cat item 1</a>
      </li>
      <li class="cat_item">
         <a href="permalink">cat item 2</a>
      </li>
      <li class="cat_item">
          <a href="permalink">cat item 3</a>
      </li>
      <li class="cat_item">
         <a href="permalink">cat item 4</a>
      </li>
      <li class="cat_item">
         <a href="permalink">cat item 5</a>
      </li>
   </ul>
</div>

제발 도와주세요.

5개의 투고를 원하신 것을 놓쳤습니다.

<?php
//for each category, show 5 posts
$cat_args=array(
  'orderby' => 'name',
  'order' => 'ASC'
   );
$categories=get_categories($cat_args);
  foreach($categories as $category) { 
    $args=array(
      'showposts' => 5,
      'category__in' => array($category->term_id),
      'caller_get_posts'=>1
    );
    $posts=get_posts($args);
      if ($posts) {
        echo '<p>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> ';
        foreach($posts as $post) {
          setup_postdata($post); ?>
          <p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
          <?php
        } // foreach($posts
      } // if ($posts
    } // foreach($categories
?>

여기서 일을 단순하게 하는 것이 문제를 해결할 수 있는 방법이다.

<?php wp_list_categories('show_count=1&title_li=<h2>Categories</h2>'); ?>

네스트된 카테고리를 반복하기 위해 이 코드를 만들었습니다.공유.

        //Start on the category of your choice       
        ShowCategories(0);

        function ShowCategories($parent_category) {
                $categories = get_categories(array('parent' => $parent_category, 'hide_empty' => 0));  
                foreach ($categories as $category) {
                    ?><ul><li><?=$category->cat_name;?><?
                    ShowCategories($category->cat_ID);
                    ?></li></ul><?
                }
        }

다음 Stackoverflow 스레드를 확인합니다.

https://wordpress.stackexchange.com/questions/346/loop-through-custom-taxonomies-and-display-posts/233948#233948

저는 제가 제작에 사용하고 있고, 매력적으로 작동하는 답변을 올렸습니다.

모든 게 아니라 5개의 게시물만 표시하도록 인수를 조정해야 합니다.

$args = array( 'showposts' => 5 );

각 카테고리의 투고를 반복하는 루프 내의 현재 인수 배열에 'showposts' => 5를 추가합니다.

언급URL : https://stackoverflow.com/questions/1780386/looping-through-wordpress-categories