Word Press:$wp_query를 사용하여 카테고리별로 투고를 필터링하려면 어떻게 해야 합니까?
WordPress에 커스텀 테마를 작성했습니다.첫 페이지에는 고정적인 선두 페이지가 있으며, 투고 페이지로서 [설정]> [읽기 설정]> [앞 페이지 표시]에 페이지가 설정되어 있지 않습니다.다만, 사이트내의 카테고리에 근거해 다른 정적 페이지에 투고를 표시하고 싶습니다.따라서 콘솔을 통해 게시물 인덱스 페이지를 선언하지 않습니다.그래서 $wp_query 함수를 사용합니다.
「애플」카테고리의 투고만을 표시하는 필터를 이 스크립트에 추가하려면 어떻게 해야 합니까(예를 들면).현재 이 스크립트는 카테고리에 관계없이 모든 투고를 표시합니다.
<?php
$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query();
$wp_query->query('showposts=1' . '&paged='.$paged);
while ($wp_query->have_posts()) : $wp_query->the_post();
?>
<h2><a href="<?php the_permalink(); ?>" title="Read"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<?php the_date(); ?>
<?php endwhile; ?>
<?php if ($paged > 1) { ?>
<p><?php previous_posts_link('Previous page'); ?>
<?php next_posts_link('Next page'); ?></p>
<?php } else { ?>
<p><?php next_posts_link('Next page'); ?></p>
<?php } ?>
<?php wp_reset_postdata(); ?>
사용하셔야 합니다.
category_name(스트링 - 카테고리 슬러그 사용) 또는cat(int - 카테고리 ID 사용), 카테고리별로 게시물을 가져오려면WP_Query::query().
다음은 예를 제시하겠습니다.
$category_name = 'apples'; //replace it with your category slug
$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query();
$wp_query->query('showposts=1' . '&paged=' . $paged . '&category_name=' . $category_name);
//...
//...
이게 도움이 됐으면 좋겠네요!
첫 번째 php 블록을 삭제하고 이것으로 바꿉니다.
<?php
$args = array (
'showposts' => '1',
'category_name' => 'apples',
'paged' => $paged
);
$the_query = new WP_Query( $args );
if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post();
?>
상세한 것에 대하여는, https://codex.wordpress.org/Class_Reference/WP_Query#Category_Parameters 를 참조해 주세요.
언급URL : https://stackoverflow.com/questions/41886528/wordpress-how-to-filter-posts-by-category-using-wp-query
'programing' 카테고리의 다른 글
| Angular 2 확인란 양방향 데이터 바인딩 (0) | 2023.03.16 |
|---|---|
| JSX에서 공백을 추가할 때의 모범 사례 (0) | 2023.03.16 |
| Swift: 구조를 JSON으로 변환하시겠습니까? (0) | 2023.03.11 |
| MongoDB에 대한 '데이터 손실' 비판은 어느 정도 유효합니까? (0) | 2023.03.11 |
| jQuery를 사용한 병렬 비동기 Ajax 요청 (0) | 2023.03.11 |