it-swarm-ko.tech

맞춤 분류를 반복하고 소식을 표시합니다.

정상적인 WP 카테고리에서이 작업을 수행 할 수 있었지만 사용자 정의 분류 작업을 수행 할 수 없었습니다.

각 사용자 정의 분류 (내 경우 범주)를 반복하고 각각에 대한 여러 게시물을 생성하고 싶습니다.

출력의 예는 다음과 같습니다.

Category 1

post from category one
post from category one

read more category one


Category 2

post from category two
post from category two

read more category two

물론 그것은 커스텀 포스트 타입을 위해 가능한 택 소노 미를 통해 반복 될 것입니다.

7
curtismchale

위의 질문은 좀 해킹 된 것처럼 또 다른 답변을 제공 할 것이라고 생각했습니다. 또한 post_type에 대한 모든 분류를 가져 오는 또 다른 레이어를 추가했습니다.

$post_type = 'post';

// Get all the taxonomies for this post type
$taxonomies = get_object_taxonomies( (object) array( 'post_type' => $post_type ) );

foreach( $taxonomies as $taxonomy ) : 

    // Gets every "category" (term) in this taxonomy to get the respective posts
    $terms = get_terms( $taxonomy );

    foreach( $terms as $term ) : 

        $posts = new WP_Query( "taxonomy=$taxonomy&term=$term->slug&posts_per_page=2" );

        if( $posts->have_posts() ): while( $posts->have_posts() ) : $posts->the_post();
            //Do you general query loop here  
        endwhile; endif;

    endforeach;

endforeach;

발견 된 각 게시물을 $post__not_in 배열에 추가하는 것이 좋습니다. 그러면 WP_Query에 전달하여 중복 게시물을 방지 할 수 있습니다.

9
Joe Hoyle

이걸 찾으세요?

<?php query_posts(array('post_type' => 'post type name', 'Taxonomy slug' => $term->slug ) ); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>

사용자 정의 분류 생성 방법 루프

희망이 도움이 될 것입니다.

1
Maidul

이 함수를 복사하여 귀하의 functions.php에 붙여 넣으십시오.

if ( ! function_exists( 'display_all_products_from_all_categories' ) ) {

    function display_all_products_from_all_categories() {

        // Get all the categories for Custom Post Type Product
        $args = array( 
            'post_type' => 'product', 
            'orderby' => 'id', 
            'order' => 'ASC' 
        );

        $categories = get_categories( $args );

        foreach ($categories as $category) {
            ?>
            <div class="<?php echo $category->slug; ?>">
                <!-- Get the category title -->
                <h3 class="title"><?php echo $category->name; ?></h3>

                <!-- Get the category description -->
                <div class="description">
                    <p><?php echo category_description( get_category_by_slug($category->slug)->term_id ); ?></p>
                </div>

                <ul class="mhc-product-grid">

                    <?php
                        // Get all the products of each specific category
                        $product_args = array(
                            'post_type'     => 'product',
                            'orderby'      => 'id',
                            'order'         => 'ASC',
                            'post_status'   => 'publish',
                            'category_name' => $category->slug //passing the slug of the current category
                        );

                        $product_list = new WP_Query ( $product_args );

                    ?>

                    <?php while ( $product_list -> have_posts() ) : $product_list -> the_post(); ?>

                        <li class="product <?php the_field( 'product_flavor' ); ?>">
                            <a href="<?php the_permalink(); ?>" class="product-link">

                                <!-- if the post has an image, show it -->
                                <?php if( has_post_thumbnail() ) : ?>
                                    <?php the_post_thumbnail( 'full', array( 'class' => 'img', 'alt' => get_the_title() ) ); ?>
                                <?php endif; ?>

                                <!-- custom fields: product_flavor, product_description ... -->
                                <h3 class="title <?php the_field( 'product_flavor' ); ?>"><?php the_title(); ?></h3>
                                <p class="description"><?php the_field( 'product_description' ); ?></p>
                            </a>
                        </li>

                    <?php endwhile; wp_reset_query(); ?>
                </ul>

            </div>
            <?php
        }
    }
}

그런 다음 템플릿의 어느 위치에서든 다음과 같이 호출하십시오.

display_all_products_from_all_categories();
0
drjorgepolanco