사용자 지정 분류를 사용하여 사용자 지정 게시물 유형을 쿼리하려면 어떻게합니까?
5 대답
- 투표
-
- 2013-02-07
지금까지
query_posts()
를 사용하지 마세요 ,여기에서 자세히 알아보세요 : WP_Query 대 query_posts () 대get_posts ()는 언제 사용해야합니까? p>필요한 게시물을 가져 오려면
WP_Query
를 사용해야합니다. 이에 대한 문서 를 읽어보세요. 귀하의 경우 쿼리는 다음과 같을 수 있습니다.$the_query = new WP_Query( array( 'post_type' => 'Adverts', 'tax_query' => array( array ( 'taxonomy' => 'advert_tag', 'field' => 'slug', 'terms' => 'politics', ) ), ) ); while ( $the_query->have_posts() ) : $the_query->the_post(); // Show Posts ... endwhile; /* Restore original Post Data * NB: Because we are using new WP_Query we aren't stomping on the * original $wp_query and it does not need to be reset. */ wp_reset_postdata();
Firs of all don't use
query_posts()
ever, read more about it here: When should you use WP_Query vs query_posts() vs get_posts()?.You have to use
WP_Query
to fetch posts what you need. Read documentation for it. In your case the query could be like this:$the_query = new WP_Query( array( 'post_type' => 'Adverts', 'tax_query' => array( array ( 'taxonomy' => 'advert_tag', 'field' => 'slug', 'terms' => 'politics', ) ), ) ); while ( $the_query->have_posts() ) : $the_query->the_post(); // Show Posts ... endwhile; /* Restore original Post Data * NB: Because we are using new WP_Query we aren't stomping on the * original $wp_query and it does not need to be reset. */ wp_reset_postdata();
-
맞춤 게시물 유형이 '광고'인 모든 게시물을 가져 오는 것 같습니다.그러나 이것은 일을하는 것 같습니다. $the_query=새로운 WP_Query (array ( 'post_type'=> '광고', 'advert_tag'=> '정치' ));Just noticed that it seems to pull all posts with the custom post type 'Adverts'. However this seems to do the job: $the_query = new WP_Query( array( 'post_type' => 'Adverts', 'advert_tag' => 'politics' ));
- 2
- 2013-02-07
- Stephen
-
@Stephen {tax}는 {tax_query}와 {tax_query}에 찬성하여 3.1 버전부터 더 이상 사용되지 않습니다.이것은 여전히 작동하지만 더 이상 사용되지 않는 기능을 사용해서는 안됩니다. tax_query는 분류 쿼리의 배열과 함께 사용됩니다.나는 FAQs Custom Post 유형을 작업하고 있었고 WP_Query의 {tax} 분류 슬러그 인수와 거의 동일한 방식으로 작동했습니다.@Stephen {tax} was deprecated since version 3.1 in favor of {tax_query} and {tax_query} was introduced. this still works but we should not use the deprecated functions. tax_query is used with an array of taxonomy queries. i was working on FAQs Custom Post type and it worked for me pretty much the same way as {tax} taxonomy slug argument in WP_Query does.
- 0
- 2015-11-19
- Aamer Shahzad
-
- 2015-11-19
이 쿼리를 사용하여 사용자 지정 분류 (faq_category)와 함께 사용자 지정 게시물 (FAQ 게시물)을 가져옵니다.WP_Query args의 {taxonomy} 매개 변수는 v.3.1부터 사용되지 않으며 {tax_query}를 도입했기 때문입니다.아래는 완벽하게 작동하는 코드입니다.
$query = new WP_Query( array( 'post_type' => 'faqs', // name of post type. 'tax_query' => array( array( 'taxonomy' => 'faq_category', // taxonomy name 'field' => 'term_id', // term_id, slug or name 'terms' => 48, // term id, term slug or term name ) ) ) ); while ( $query->have_posts() ) : $query->the_post(); // do stuff here.... endwhile; /** * reset the orignal query * we should use this to reset wp_query */ wp_reset_query();
i am using this query to fetch custom posts (FAQs Posts) with its custom taxonomy (faq_category). since {taxonomy} parameter in WP_Query args was deprecated since v.3.1 and introduced {tax_query}. below is the code that works perfectly.
$query = new WP_Query( array( 'post_type' => 'faqs', // name of post type. 'tax_query' => array( array( 'taxonomy' => 'faq_category', // taxonomy name 'field' => 'term_id', // term_id, slug or name 'terms' => 48, // term id, term slug or term name ) ) ) ); while ( $query->have_posts() ) : $query->the_post(); // do stuff here.... endwhile; /** * reset the orignal query * we should use this to reset wp_query */ wp_reset_query();
-
이것이 정답입니다.tax_query에는 배열 배열이 필요하기 때문에 허용 된 답변은 분류별로 필터링되지 않습니다.이 중첩 된 메서드는이 작업을 수행하는 데 필수적입니다.귀하의 답변에 감사드립니다)This is the correct answer - the accepted answer will not filter by taxonomy since the tax_query requires an array of arrays. This nested method is essential to getting this to work. Thanks for your answer )
- 0
- 2016-07-28
- Tom Dyer
-
그래 맞아,Tom Dyer를 환영 해yes you are right, welcome Tom Dyer
- 0
- 2016-08-18
- Aamer Shahzad
-
예,이것은 또한 분류 템플릿을 작동시키는 데 도움이되었습니다.감사합니다!Yes, this one also helped me to get the taxonomies template to work. Thank you!
- 0
- 2018-02-16
- user3135691
-
안녕하세요 @AamerShahzad 똑같은 질문이 있으며 귀하의 답변을 사용했지만 페이지에 게시물이 없습니다.여기서 나를 도울 수 있습니까?https://stackoverflow.com/questions/55783769/how-do-i-pull-only-one-category-from-custom-post-type-in-a-templateHey @AamerShahzad I have the exact same question and I used your answer but the page is pulling no posts. Can you help me out here? https://stackoverflow.com/questions/55783769/how-do-i-pull-only-one-category-from-custom-post-type-in-a-template
- 0
- 2019-04-21
- Desi
-
- 2020-04-28
마법처럼 작동하는 코드가 있습니다. 사용자 지정 분류 "unit_type"및 여러 분류 용어를 "디렉터리"및 "사무실"로 사용하여 사용자 지정post_type "university_unit"에 대한 모든 게시물을 가져옵니다. 도움이 되었기를 바랍니다.
<?php $args = array( 'post_type' => 'university_unit', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC', 'tax_query' => array( array( 'taxonomy' => 'unit_type', 'field' => 'slug', 'terms' => array('directorate', 'office') ) ) ); $Query = new WP_Query($args); if($Query -> have_posts()): while($Query -> have_posts()): $Query -> the_post(); ?> <div class="cm-post-list-item"> <article> <div class="cm-post-head"> <h3 class="cm-text-blue"> <a href="<?php the_permalink(); ?>"><?php the_title();?></a> </h3> </div> <div class="cm-post-body"><?php the_excerpt();?></div> </article> </div> <?php endwhile; else: "No Administrative Offices Found. Try again later"; endif; wp_reset_postdata(); ?>
Here the code that works like magic. I am fetching all posts for the custom post_type "university_unit" with custom taxonomy "unit_type" and multiple taxonomy terms as "directorate" and "office". I hope it helps out.
<?php $args = array( 'post_type' => 'university_unit', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC', 'tax_query' => array( array( 'taxonomy' => 'unit_type', 'field' => 'slug', 'terms' => array('directorate', 'office') ) ) ); $Query = new WP_Query($args); if($Query -> have_posts()): while($Query -> have_posts()): $Query -> the_post(); ?> <div class="cm-post-list-item"> <article> <div class="cm-post-head"> <h3 class="cm-text-blue"> <a href="<?php the_permalink(); ?>"><?php the_title();?></a> </h3> </div> <div class="cm-post-body"><?php the_excerpt();?></div> </article> </div> <?php endwhile; else: "No Administrative Offices Found. Try again later"; endif; wp_reset_postdata(); ?>
-
- 2020-06-14
이는 CPT에 대한 사용자 지정 분류에 대한 각 용어 아래에 모든 게시물을 나열하는 데 도움이되었습니다.
<사전> <코드> & lt;?php //모든 분류 용어 목록 가져 오기-간단한 카테고리 제목 $ args=array ( '분류'=> '프로젝트 _ 카테고리', 'orderby'=> '이름', '주문'=> 'ASC' ); $ cats=get_categories ($ args); //사용자 지정 분류의 모든 용어에 대해term_id로 게시물을 가져옵니다. foreach ($ cats as $ cat) { ? > & lt; a href="& lt;?phpechoget_category_link ($ cat- >term_id)? >"> & lt;?phpecho $ cat- > 이름;? > & lt;br > & lt;?php//echo $ cat- >term_id;? > & lt;br > & lt;/a > & lt;?php //쿼리 인수 $ args=array ( 'post_type'=> 'portfolio',//포스트 유형 'tax_query'=> 정렬( 정렬( '분류'=> 'project_category',//커스텀 어휘 '필드'=> 'term_id',//term_id,slug 또는 이름 (아래 용어를 검색하려는 항목으로 정의) '약관'=> $ cat- >term_id,//슬러그라는 용어 제공 ), ), ); //쿼리 $the_query=새로운 WP_Query ($ args); //루프 if ($the_query- > have_posts ()) { echo '& lt; h2 > 이 태그로 태그 된 게시물 목록 & lt;/h2 > '; echo '& lt; ul >'; $ html_list_items=''; while ($the_query- > have_posts ()) { $the_query- >the_post (); $ html_list_items.='& lt; li >'; $ html_list_items.='& lt; a href="'.get_permalink (). '">'; $ html_list_items.=get_the_title (); $ html_list_items.='& lt;/a >'; $ html_list_items.='& lt;/li >'; } echo $ html_list_items; 에코 '& lt;/ul >'; }else { //게시물이 없습니다. } wp_reset_postdata ();//전역 $post 재설정; ? > & lt;?php}? >This helped me to get all posts listed under each term for custom taxanomy for CPT
<?php // Get list of all taxonomy terms -- In simple categories title $args = array( 'taxonomy' => 'project_category', 'orderby' => 'name', 'order' => 'ASC' ); $cats = get_categories($args); // For every Terms of custom taxonomy get their posts by term_id foreach($cats as $cat) { ?> <a href="<?php echo get_category_link( $cat->term_id ) ?>"> <?php echo $cat->name; ?> <br> <?php // echo $cat->term_id; ?> <br> </a> <?php // Query Arguments $args = array( 'post_type' => 'portfolio', // the post type 'tax_query' => array( array( 'taxonomy' => 'project_category', // the custom vocabulary 'field' => 'term_id', // term_id, slug or name (Define by what you want to search the below term) 'terms' => $cat->term_id, // provide the term slugs ), ), ); // The query $the_query = new WP_Query( $args ); // The Loop if ( $the_query->have_posts() ) { echo '<h2> List of posts tagged with this tag </h2>'; echo '<ul>'; $html_list_items = ''; while ( $the_query->have_posts() ) { $the_query->the_post(); $html_list_items .= '<li>'; $html_list_items .= '<a href="' . get_permalink() . '">'; $html_list_items .= get_the_title(); $html_list_items .= '</a>'; $html_list_items .= '</li>'; } echo $html_list_items; echo '</ul>'; } else { // no posts found } wp_reset_postdata(); // reset global $post; ?> <?php } ?>
-
- 2018-09-26
이 답변은 이제 wordpress가 분류 매개 변수 정보를 변경하기 때문에 더 이상 유효하지 않습니다.이 방법으로 사용하십시오.작동합니다.그것은 나를 위해 작동합니다."tax_query"는 "tax"로 대체됩니다.효과가 있기를 바랍니다.
$the_query = new WP_Query( array( 'post_type' => 'Adverts', 'tax' => array( array ( 'taxonomy' => 'advert_tag', 'field' => 'slug', 'terms' => 'politics', ) ), ) ); while ( $the_query->have_posts() ) : $the_query->the_post(); // Show Posts ... endwhile; /* Restore original Post Data * NB: Because we are using new WP_Query we aren't stomping on the * original $wp_query and it does not need to be reset. */ wp_reset_postdata();
This answer now is not valid anymore since wordpress changes their taxonomy parameter information. please use this way. It will work. It works for me. "tax_query" replaces with "tax". hope it will work.
$the_query = new WP_Query( array( 'post_type' => 'Adverts', 'tax' => array( array ( 'taxonomy' => 'advert_tag', 'field' => 'slug', 'terms' => 'politics', ) ), ) ); while ( $the_query->have_posts() ) : $the_query->the_post(); // Show Posts ... endwhile; /* Restore original Post Data * NB: Because we are using new WP_Query we aren't stomping on the * original $wp_query and it does not need to be reset. */ wp_reset_postdata();
-
정반대입니다.`tax`는 이전 방식이고`tax_query`는 현재 (v3.1 +) 방식입니다.It's the exact opposite - `tax` was the old way, `tax_query` is the current (v3.1+) way.
- 0
- 2019-01-03
- WebElaine
-
글쎄요 저는 v4.5를 사용하고 있으며 저와 함께 작동합니다.Well I am working v4.5 and it works with me
- 0
- 2019-01-05
- mamunuzaman
-
WP는 이전 버전과 호환되는 것으로 유명합니다.이전 방법은 여전히 작동하지만 더 이상 사용되지 않으므로 결국 제거 될 수 있으며 새로운 방법을 사용하는 것이 더 안전합니다.WP is famous for being backwards-compatible. The old way still works, but it's been deprecated, so it may eventually be removed and it's safer to use the newer method.
- 0
- 2019-01-07
- WebElaine
-
예,이제 세금에서tay_query로 변경되었습니다 ..Yes now changed from tax to tay_query..
- 0
- 2019-12-11
- mamunuzaman
어떤 이유로 든 사용자 지정 분류를 사용하여 게시물을 가져 오는 데 어려움을 겪고 있습니다 ... 누구든지 내 어리 석음을 풀 수 있습니까?
분류 선언 :
맞춤 게시물 유형 선언 :
}