sourcetip

WordPress에서 카테고리 목록과 모든 게시물을 표시하려면 어떻게 해야 합니까?

fileupload 2023. 10. 5. 23:28
반응형

WordPress에서 카테고리 목록과 모든 게시물을 표시하려면 어떻게 해야 합니까?

저는 맞춤형 워드프레스 테마 작업을 하고 있습니다.

사용자 지정 게시물 유형에 대한 카테고리 목록(제목으로)을 표시하려고 하는데, 각 카테고리 제목 아래에 게시물 제목과 단일 사용자 지정 필드를 나열하고자 합니다.Types 플러그인을 사용하고 있습니다.저는 약간의 php를 알고 있고 워드프레스 경험이 있지만 이것을 제대로 파악하기에는 부족합니다.

예:

사용자 지정 게시물 유형: 메뉴 항목

이 게시물 유형에 대한 사용자 지정 필드:품목가격

카테고리: 샌드위치 충전재

카테고리: 수프

원하는 결과:

샌드위치 충전재

치즈 - £#.##

햄 - £#.##

참치 - £#.##

...

수프

토마토

치킨.

채소

아이디어는 새로운 카테고리를 즉시 추가하고(예를 들어, 언젠가는 용융물을 판매하기 시작할 수도 있음), WP가 새로운 카테고리를 추가할 때 카테고리를 반복하여 추가할 수 있도록 하는 것이며, 페이지의 새로운 카테고리를 하드코딩할 필요가 없도록 할 것입니다.

지금까지 제가 한 것은 다음과 같습니다.

<?php

    $args = array(
        'post_type' => 'menu-item',
        'orderby' => 'name',
        'parent' => 0
    );

    $categories = get_categories( $args );

    foreach ( $categories as $category ) {

        $posts = get_posts($args);
        $item_price = types_render_field( "item-price" );

        echo '<h2>' . $category->name . '</h2>';
        ?>
            <ul><?php
            foreach($posts as $post) {
            ?>
                <li><?php the_title(); ?>, <?php echo $item_price; ?></li>
            <?php 
        }       
    }
?>

내가 얻은 것은 이것입니다.

샌드위치

토마토,

스위스 치즈,

프렌치 브리,

프렌치 브리,

...

수프

토마토, £2.60

스위스 치즈, £2.60

프렌치 브리, £2.60센트

프렌치 브리, £2.60센트

어떤 도움이라도 주시면 감사하겠습니다!

갱신하다

이것이 도움이 된 것 같습니다.

<?php

    $args = array(
        'post_type' => 'menu-item'
    );

    $categories = get_categories( $args );
    $posts = get_posts($args);


    foreach ( $categories as $category ) {



        echo '<h2>' . $category->name . '</h2>';
        ?>

        <div class="menu-items-container">
            <?php foreach($posts as $post) { ?>
                <?php $item_price = types_render_field( "item-price" ); ?>
                <?php if (in_category($category)) { ?>
                    <p><?php the_title(); ?>, <?php echo $item_price; ?></p>
                <?php  } ?>
            <?php  } ?>
        </div>
<?php } ?>

그리고 제가 찾던 결과를 보여주고 있습니다.실험과 행복한 사고를 통해 이 수정 사항을 발견했기 때문에 최선의 방법이 아닐 수도 있다는 것을 알고 있습니다. 개선을 위한 조언이나 제안을 환영합니다!

각 카테고리의 모든 게시물을 순환하지 않기 때문에 이와 같은 것이 더 나을 수 있습니다.

<?php

    $args = array(
        'post_type' => 'menu-item'
    );

    $categories = get_categories( $args );

    foreach ( $categories as $category ) {

        echo '<h2>' . $category->name . '</h2>';

        $args['category'] = $category->term_id;
        $posts = get_posts($args); ?>

        <div class="menu-items-container">
            <?php foreach($posts as $post) { ?>
                <?php $item_price = types_render_field( "item-price" ); ?>
                <p><?php the_title(); ?>, <?php echo $item_price; ?></p>
            <?php  } ?>
        </div>
<?php } ?>

언급URL : https://stackoverflow.com/questions/34381626/how-can-i-display-a-list-of-categories-and-all-their-posts-in-wordpress

반응형