个性化阅读
专注于IT技术分析

WordPress按标签过滤帖子

我正在尝试按标签过滤帖子。

具有所有标签的帖子默认情况下可用。但是用户可以增加和减少过滤器中标签的数量。

提交这种方式的最佳方式是什么?我应该计算所有省略的标记并使用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>';
}

UPD:

我决定进行如下链接:

<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 );
}

#1


尝试这个,

$ 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 =新的WP_Query($ args);

之后循环你的帖子.. ..

最后重置帖子数据-wp_reset_postdata();

赞(0) 打赏
未经允许不得转载:srcmini » WordPress按标签过滤帖子
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏