WordPress- 태그 및 카테고리별로 필터링 된 게시물 목록 작성
문제
페이지에 6 개의 목록이있는 WordPress 사이트를 만들려고 노력하고 있으며 각 목록에는 다른 범주의 게시물이 표시됩니다. 단순한.
그러나 사용자가 태그를 선택하여 태그 아카이브 페이지로 가져 가면 6리스트 템플릿을 여전히 볼 수 있지만 각 범주 내의 모든 게시물도 태그에 의해 필터링됩니다. 따라서 게시물 목록은 먼저 태그로 필터링 된 다음 카테고리별로 필터링됩니다.
내가 알 수있는 한, query_posts 또는 무엇이든 사용 하여이 작업을 수행 할 수있는 방법은 없으므로 데이터베이스의 고급 사용이 필요하지만이 작업을 수행하는 방법은 전혀 모릅니다! 나는 여기에 비슷한 질문이 있다고 생각하지만 PHP가 거의없고 MySQL이 없기 때문에 답을 이해할 수 없습니다!
해결책
맞아, 나는 마침내 이것에 대한 비교적 간단한 해결책을 발견했다.
WordPress에는 카테고리와 태그가 작동하는 것을 막는 버그가 있습니다. query_posts('cat=2&tag=bread');
효과가 없지만 이것에 대한 방법은입니다 query_posts('cat=2&tag=bread+tag=bread');
마술처럼 작동합니다.
tag.php 템플릿에서 해당 아카이브에서 태그를 선택하기를 원했기 때문에 다음을 수행해야했습니다.
<?php query_posts('cat=12&tag='.$_GET['tag'].'+'.$_GET['tag']); ?>
완벽하게 작동합니다.
다른 팁
이 코드를 시도하십시오 :
query_posts('tag=selected_tag');
while (have_posts()) : the_post();
foreach((get_the_category()) as $category)
{
if ($category->cat_name == 'selected_category')
{
// output any needed post info, for example:
echo the_title();
}
}
endwhile;
에 따르면 WordPress API, 당신은 전화 내에서 태그로 필터링 할 수 있습니다. query_posts
.
예 :
query_posts('tag=cooking');
query_posts('tag=bread,baking');
query_posts('tag=bread+baking+recipe');
제휴하지 않습니다 StackOverflow