簡體   English   中英

Wordpress 按標簽過濾帖子

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM