Simplicityの特徴 › フォーラム › Simplicityについての質問 › 関連記事をカテゴリーとタブの両方に関連付けしタグ優先で表示する方法について
-
投稿者投稿
-
-
2017年6月30日 10:17 PM #53581
ユキノブ
ゲスト関連記事の表示方法について知りたいです。
テーマのカスタマイズでは、関連記事の関連付けとして「カテゴリに関連付け」或いは「タブに関連付け」という選択肢があります。しかし、カテゴリとタグ両方に関連付ける選択肢がありません。
過去のフォーラムでは、「タグに関連付け」する方法の質問や回答は見受けられますが、カテゴリとタグ両方に関連付ける方法についてのものは見受けられませんでした。そこで、カテゴリとタグ両方に関連付ける方法を知りたいです。
具体的には、まずはタグを優先し、同一タグの記事がない或いは同一タグの記事が指定の表示数に満たない場合に、同一カテゴリーから指定の表示数の残りの数を表示するという方法です。「iPhone」というカテゴリーに属し「iPhoneSE」というタグに属する記事の関連記事に、「iPhoneSE」のタグを優先し、足りない記事数を「iPhone」というカテゴリーで補うというものです。
下記に掲載しているようにfunction.php内で関連記事のカテゴリの関連付けやタグの関連付けを行っているようですが、ここの部分をどのように変更すれば良いでしょうか。また、公式では精度の高い検索結果を表示する方法としてCFilteringプラグインを紹介していますが、出来ればこういったプラグインは使用しない方法でお願いします。
//WP_Queryの引数を取得
if ( !function_exists( ‘get_related_wp_query_args’ ) ):
function get_related_wp_query_args(){
global $post;
if ( is_related_entry_association_category() ) {
//カテゴリ情報から関連記事をランダムに呼び出す
$categories = get_the_category($post->ID);
$category_IDs = array();
foreach($categories as $category):
array_push( $category_IDs, $category -> cat_ID);
endforeach ;
if ( empty($category_IDs) ) return;
return $args = array(
‘post__not_in’ => array($post -> ID),
‘posts_per_page’=> intval(get_related_entry_count()),
‘category__in’ => $category_IDs,
‘orderby’ => ‘rand’,
);
} else {
//タグ情報から関連記事をランダムに呼び出す
$tags = wp_get_post_tags($post->ID);
$tag_IDs = array();
foreach($tags as $tag):
array_push( $tag_IDs, $tag -> term_id);
endforeach ;
if ( empty($tag_IDs) ) return;
return $args = array(
‘post__not_in’ => array($post -> ID),
‘posts_per_page’=> intval(get_related_entry_count()),
‘tag__in’ => $tag_IDs,
‘orderby’ => ‘rand’,
);
}
}
endif; -
2017年7月1日 8:35 PM #53591
わいひらキーマスター申し訳ないですが、サポート対象外のものにもあるように、「時間のかかるカスタマイズ」は、サポートの対象外とさせてもらっています。
というのも現在、とてもじゃないけど必要時間が読めないカスタマイズをやってる暇がないからです。
Simplicityとしては、精度の高い関連付けについては、CFilteringプラグインを用意しているので、それ以外の高度な関連づけに関しては自前もしくは、プロの方に依頼していただければと思います。
-
-
投稿者投稿
- フォーラム「Simplicityについての質問」には新規投稿および返信を追加できません。