-
投稿者投稿
-
2018年9月18日 8:46 PM #5644
こんにちわ。京都でデザインの仕事をしています小川といいます。
カスタム投稿タイプでは、ページデザイン(Postに設定したカスタム内容)が反映されませんよね。意図的なのかもしれないのですが、デフォルトは反映される方がいいのかなと思いました。具体的には、is-output-page-header.php 内の場合分けに
} elseif ( is_singular() && in_array( get_theme_mod( ‘page-eyecatch’ ), $valid_choices ) ) {
$return = true;と追記するのがいいと思うのですが、いかがでしょうか。
♥ 0いいねをした人: 居ません2018年9月18日 10:10 PM #5648自分で書いておいてなんなのですが…
やはりカスタム投稿タイプはその目的の通り、Postとは別の方がいいのでしょうか。
もしできるなら、カスタマイザーで調整できたら便利と思いましたが、わざわざカスタム投稿タイプ作るような人には不要という判断が、正しいように思いました。そのように思う一方で、Snow Monkey の便利な機能は適宜使いたいなぁ(目次、関連記事、autohrの情報など)という欲張りな気持ちも湧いてきます。
♥ 0いいねをした人: 居ません2018年9月19日 9:54 AM #5654これについては過去にこのフォーラムでも話題にあがったりしたのですが、ご想像の通り、「わざわざカスタム投稿タイプ作るような人には不要」ということが多いのかなという判断でそのようにしています。
子テーマをお使いであれば、子テーマにカスタム投稿タイプ用のテンプレートを追加することで投稿と同じ見た目で表示することが可能です。
例えば、カスタム投稿タイプが news だったとして、
/子テーマ/templates/view/content-news.php
を作成
(※ Snow Monkey では「/templates/view/」の中のテンプレートのことを「ビューファイル」と呼んでいます)その中身に、
<?php get_template_part( 'templates/view/content-post' );
♥ 0いいねをした人: 居ません2018年9月21日 3:05 AM #5737viewとしてPost用のファイルをnews(カスタム投稿タイプ)に読み込み、同一にするということですね。ありがとうございます。
それとは異なるケースで、カスタム投稿タイプでhtmlは独自にしつつも、Postと同じeye catch 部分を使い、かつ それをパララックス表現(全幅表現)にしたい場合や目次機能を使いたい。
そういうケースでは、以下の箇所からif文を外して表示させるのが良いでしょうか?
52行目 if ( 'content-top' === get_theme_mod( 'post-eyecatch' ) ) { get_template_part( 'template-parts/eyecatch' ); } if ( get_option( 'mwt-display-contents-outline' ) ) { get_template_part( 'template-parts/contents-outline' ); }
♥ 0いいねをした人: 居ません2018年9月21日 9:53 AM #5742そうですね。この if はカスタマイザーでオンオフしたものを反映させるために書いているものなので、そこは無視して常に表示させるのであれば if は消す形になりますね。
♥ 0いいねをした人: 居ません2018年9月25日 1:41 PM #5822ありがとうございます。
トライしてみました。
CSSを当てられず、単にthe_content()出力前にアイキャッチが表示されちゃうという状態になりましたが
一歩前進です。トピックを閉じます。♥ 0いいねをした人: 居ません2018年9月25日 1:55 PM #5826あ、多分勘違いしてたかもです!アイキャッチをヘッダーにバーンとだしたい感じでしょうか?コンテンツの中身を投稿と同じにしたいのだと早とちりしてしまいました。
ヘッダーにバーンとだしたいのでしたら、前に書かれていたように、
snow_monkey_is_output_page_header()
のカスタマイズで対処することになります。子テーマの functions.php に下記のコードを記述してみてください。
/** * カスタム投稿タイプ「news」の場合はページヘッダーを表示 */ add_filter( 'snow_monkey_is_output_page_header', function( $return ) { if ( is_singular( 'news' ) ) { return true; } return $return; } );
ちなみに、Snow Monkey はアイキャッチの表示方法が次の3つから選べるようになっているのですが、
- ページヘッダー
- ページヘッダーの上にタイトルを表示
- コンテンツの上
get_template_part( 'template-parts/eyecatch' );
はこのうち「コンテンツの上」にあたるものになります。♥ 0いいねをした人: 居ません2018年10月19日 3:16 PM #6512まさにそこでした。
なるほど、投稿タイプごとに いろんなフィルターフックを上書き定義し直せばいいですね。
ありがとうございます。お礼まで。♥ 0いいねをした人: 居ません -
投稿者投稿
- トピック「カスタム投稿タイプにも、ページデザイン(Postに設定したカスタム内容)する方法」には新しい返信をつけることはできません。