テーマTwentyfourteenのフューチャードエリア(おすすめコンテンツ)は、普通の投稿だけを対象にしており、カスタム投稿は対象外です。標準の状態では、例えばカスタム投稿タイプを指定してトップページを開くと(例:index.php/post_type=myposttype
)おすすめコンテンツの部分にはタグfeaturedを付けた普通の投稿のみが表示され、その下に指定したタイプのカスタム投稿のみが表示されます。
なお、おすすめコンテンツとして表示する投稿を検索する処理は、テーマTwentyfourteenの下記の関数で行われています。
- テーマファイル:
twentyfourteen/inc/featured-content.php
- 関数:
get_featured_post_ids
その中で下記のように、普通の投稿のみを対象にして、カスタム分類ではない普通のタグを検索しています。
// Query for featured posts.
$featured = get_posts( array(
'numberposts' => $settings['quantity'],
'tax_query' => array(
array(
'field' => 'term_id',
'taxonomy' => 'post_tag',
'terms' => $tag,
),
),
) );
すみません、カスタム投稿タイプを指定してトップページを開く例を間違えました。正しくは次のとおりです。
index.php/?post_type=myposttype
ありがとうございました。
仰るとおり、タグにfeaturedを通常の投稿とカスタム投稿で指定して確認しましたが、カスタム投稿についてはフューチャードエリアには表示されず通常投稿だけ表示されました。
仕様なのですね・・
ご指摘いただきましたget_featured_post_ids関数部分を改変してカスタム投稿についてのみフューチャードエリアに表示させる事ができそうですが・・不可能でしょうか?
今夜、よなべして、取り組んでみたいと思います。
関数 get_posts
の引数に下記の条件を追加すると、普通の投稿とカスタム投稿の両方を対象に検索できます。
'post_type' => array('post', 'myposttype')
こんばんは
悩んだ末、解決できずにおりましたが、ご指摘の方法で特定のカスタム投稿記事が表示出来ました。本当にありがとうございます。
只、誠に失礼でございますが、つい先程プラグインでも解決できることを知りました
Fourteen Extended です。
用途にあわせ都度、おすすめコンテンツを選択できますのでより希望に合致するものでした。
インストールしますとおすすめコンテンツメニューでpost type選択その他カスタマイズできます。
同様のご疑問をお持ちの方のご参考まで、誠に恐縮ながら追記ご報告いたします。
お世話になりました