4件の投稿を表示中 - 1 - 4件目 (全4件中)
-
投稿者投稿
-
2020年10月4日 9:01 PM #58458
【お使いの Snow Monkey のバージョン】11.5.5
【お使いのブラウザ】Google Chrome 85.0.4183.102(64 ビット)
【当該サイトのURL】https://www.pangoo.jp/===
やりたいことは以下の通りです。
- 関連記事をカテゴリーとタグで抽出
- ANDではなくORで検索(カテゴリーもしくはタグの内、1つでも合致すれば抽出)
- 更新時間で並び替えて最新のもの12記事を表示
過去カテゴリーのみ、タグのみで関連記事を抽出するコードが出ており、その中のtax_queryの部分をいじればいいのは分かるのですが、両方となるとどう変えてよいのか良く分からず、質問させていただきました。
お手数ですがよろしくお願いいたします。
♥ 0いいねをした人: 居ません2020年10月4日 9:23 PM #58461たぶん、解決したと思うので、使ったコードを載せます。変なこと書いていないか自信がないので、できれば皆様のチェックを経てから本件はクローズにしたいと思います。よろしくお願いいたします。
/** * 関連記事の関連付け条件をカテゴリー+タグ中で1つでも合致した場合にする * * @param array $args * @return array */ add_filter( 'snow_monkey_related_posts_args', function( $args ) { if ( ! isset( $args['post_type'] ) || 'post' !== $args['post_type'] ) { return $args; } $category_ids = wp_get_object_terms( get_the_ID(), 'category', [ 'fields' => 'ids' ] ); $term_ids = wp_get_object_terms( get_the_ID(), 'post_tag', [ 'fields' => 'ids' ] ); $tax_query[] = [ 'relation' => 'OR', [ 'taxonomy' => 'post_tag', 'field' => 'term_id', 'terms' => $term_ids, 'operator' => 'IN', // 全てのタグが一致する場合。一つでも一致すれば良い場合は IN ], [ 'taxonomy' => 'category', 'field' => 'term_id', 'terms' => $category_ids, 'operator' => 'IN', ], ]; $args['tax_query'] = $tax_query; return $args; } ); /** 関連記事の表示優先度を更新時間とする */ add_filter( 'snow_monkey_related_posts_args', function( $_args ) { $query_args['order'] = 'DESC'; $query_args['orderby'] = 'modified'; // 最大数の変更 $_args[ 'posts_per_page' ] = 12; return $_args; } );
♥ 1いいねをした人: 居ません2020年10月5日 8:36 AM #58475おお! 見た感じ良い感じだと思います!
♥ 2いいねをした人: 居ません2020年10月5日 9:31 AM #58481キタジマ様ありがとうございます!
いつも見るだけなので、少しだけでも貢献出来て嬉しいです!
本件クローズします。♥ 2いいねをした人: 居ません -
投稿者投稿
4件の投稿を表示中 - 1 - 4件目 (全4件中)
- トピック「関連記事をカテゴリーとタグで抽出」には新しい返信をつけることはできません。