web-dev-qa-db-ja.com

現在の投稿と共通する少なくとも1つのカテゴリの投稿を取得しますか?

single.php

現在の投稿と共通の少なくとも1つのカテゴリを持つすべての投稿を取得したいです。

私はwordpressのコーデックスのドキュメントを読み込もうとしましたが、かなり混乱します(私はphp&wordpressの初心者です!)。私はすでにワードプレスでphpを使っていますが、フィルタを使って投稿を取得することになると、それをどうやってやるのか私にはまだわかりません。

私が探しているコードを説明するために、次のコード/擬似コードを書きました。

<?php 

$current_post_categories = get_the_category();

$related_posts_array = get_posts( *that have at least one category that exists in $current_post_categories* );

?>

フィルタを使用して投稿を取得する方法についてのヘルプまたは少なくとも良いチュートリアル/説明との良好なリンクがあれば、大いに評価されるでしょう。

前もって感謝します!

1
Sprout Coder

category__in引数 を使うことができます。

// use get_the_category( $post_id ) if you are outside the loop
$categories = get_the_category();

if( $categories ){

    $related_posts = get_posts( array( 'category__in' => $categories ) );

}
4
cybmeta