- このトピックには6件の返信、2人の参加者があり、最後にNobuhito Ohigashiにより6年、 8ヶ月前に更新されました。
-
投稿者投稿
-
2018年3月1日 3:24 PM #1761
目次は、便利で嬉しいのですが、
記事によってON/OFFできませんでしょうか?
また、
見出しh2のみ目次出力して、h3やh4などは目次を出さないというカスタマイズは可能でしょうか?♥ 0Who liked: No user2018年3月1日 9:37 PM #1762記事によってON/OFFできませんでしょうか?
これは検証してみないと何ともなのですが、子テーマの functions.php で ID を指定して、その投稿には目次を表示しないということはできるかもしれません。時間あるときに試してみます。
将来的には、目次以外にも色々全記事で共通の設定があるので、それらを記事毎のカスタムフィールドに個別で ON/OFF できるようなアドオンは作りたいなと考えています。見出しh2のみ目次出力して、h3やh4などは目次を出さないというカスタマイズは可能でしょうか?
下記の CSS を貼り付けてみてください。僕のモンキーレンチオフィシャルサイトでも使っています!
.c-entry__content .contents-outline ol ol { display: none; }
♥ 0Who liked: No user2018年3月4日 11:06 PM #1863下記のコードで、特定の条件のときに目次をオフにできることを確認しました。
/** * @param boolean $boolean 目次を表示するかどうか * @return boolean */ add_filter( 'option_mwt-display-contents-outline', function( $boolean ) { // /markup-html-tags-and-formatting/ では目次を消す例 if ( is_single( 'markup-html-tags-and-formatting' ) ) { return false; } return $boolean; } );
♥ 0Who liked: No user2018年3月4日 11:10 PM #1864ありがとうございます。
条件設定ですが、
サンプルですと、タグに markup-html-tags-and-formatting と設定したときに、目次が消えるという理解で良いでしょうか?(理解不足の場合は恐縮です)
♥ 0Who liked: No user2018年3月4日 11:21 PM #1865あ、このサンプルだとスラッグが markup-html-tags-and-formatting の記事のとき、ですね。オン/オフしたい記事が少ないときはこういった条件指定でも良いと思いますが、多いときはカスタムフィールド系のプラグインとかをいれて、目次オン/オフ用のカスタムフィールドを作り、
if ( 0 === get_post_meta( get_the_ID(), 'カスタムフィールド名', true ) ) { return false; }
みたいな感じにしたほうが記事編集画面からポチポチで切り替えられるので便利かもしれません。
(プラグインの仕様によって多少コード変わると思うので、上記あくまでサンプルです、すみません><)♥ 0Who liked: No user2018年3月7日 12:25 AM #1867目次 h2 のみ出力する CSSは、無事に設定できました。
特定記事の目次を出力停止するフックですが、私の理解不足でうまく反映できずです。
/** * @param boolean $boolean 目次を表示するかどうか * @return boolean */ add_filter( 'option_mwt-display-contents-outline', function( $boolean ) { return false; } );
試しにこのようにすると、全ての目次が出力停止となるはずなのですが、なぜか目次が出てきます。
子テーマの functions.phpに書いているのですが、何を勘違いしているのか、ご指摘いただけると嬉しいです。
♥ 0Who liked: No user2018年3月8日 12:39 PM #1885うーんなぜでしょうね…コード自体は間違ってないと思います。
上記のページも、同様の方法で目次やらシェアボタンやらを非表示にしています。上記の場合は便宜上プラグインをつくって、そのプラグイン内にコードを書いていますが、目次を消すためにテストしたときは子テーマの functions.php でやったので、子テーマだからできないということはないはず…。
デバッグモードにすると何かエラーが出たりはしていませんでしょうか。あとは、もしかしたら、フックの priority を上下させたら効いたりするかもしれません。何も指定しないときは priority は 10 になりますが、例えば下記のようにすることで変更できます。
/** * priority を 9 にする(数値が小さいほど早く実行し、同じ数値の場合は追加された順に実行される) * * @param boolean $boolean 目次を表示するかどうか * @return boolean */ add_filter( 'option_mwt-display-contents-outline', function( $boolean ) { return false; }, 9 );
♥ 0Who liked: No user -
投稿者投稿
- トピック「目次について」には新しい返信をつけることはできません。