[英]Wordpress Filter Posts by Tags
我正在尝试按标签过滤帖子。
带有所有标签的帖子默认可用。 但是用户可以增加和减少过滤器中的标签数量。
以这种方式提交文件的最佳方式是什么? 我应该计算所有省略的标签并使用 URL 参数还是有更简单的方法?
$args =
array(
'tag' => $tags_arr, //array('sport', 'art', 'news')
);
$posts_by_tags = get_posts( $args );
foreach ( $posts_by_tags as $post_by_tags ){
echo '<li>' . $post_by_tags->post_title . '</li>';
}
更新:
我决定制作如下链接:
<ul> <li><a href="?tags=apples,oranges">Bananas</a></li> <li><a href="?tags=bananas,oranges">Apples</a></li> <li><a href="?tags=apples,bananas">Oranges</a></li> </ul>
PHP:
$tags = array();
foreach ( get_tags() as $before_tag ) {
$tags[] = $before_tag->name;
}
if ( isset( $_REQUEST['tags'] ) && $_REQUEST['tags'] != '' && $_REQUEST['tags'] != null ) {
$filter_tags = explode( ',', $_REQUEST['tags'] );
} else {
$filter_tags = $tags;
}
$args =
array(
'tag' => $filter_tags,
);
$posts_by_tags = get_posts( $args );
$each_sixth = 1;
foreach ( $posts_by_tags as $post_by_tags ){
// do stuff
echo get_the_title( $post_by_tags->ID );
}
尝试这个,
$query=new WP_Query(array('posts_per_page=-1', array('tag' => array($tags_arr))));
(或者)
$args=array('posts_per_page' => 5, 'tag' => $tags_arr);
$wp_query = new WP_Query( $args );
循环您的帖子后...
最后,重置帖子数据:
wp_reset_postdata();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.