目次について

7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • 投稿者
    投稿
  • #1761
    Nobuhito Ohigashi
    参加者
    5

    目次は、便利で嬉しいのですが、

    記事によってON/OFFできませんでしょうか?

    また、
    見出しh2のみ目次出力して、h3やh4などは目次を出さないというカスタマイズは可能でしょうか?

    0
    #1762
    キタジマ タカシ
    キーマスター
    339

    記事によってON/OFFできませんでしょうか?

    これは検証してみないと何ともなのですが、子テーマの functions.php で ID を指定して、その投稿には目次を表示しないということはできるかもしれません。時間あるときに試してみます。
    将来的には、目次以外にも色々全記事で共通の設定があるので、それらを記事毎のカスタムフィールドに個別で ON/OFF できるようなアドオンは作りたいなと考えています。

    見出しh2のみ目次出力して、h3やh4などは目次を出さないというカスタマイズは可能でしょうか?

    下記の CSS を貼り付けてみてください。僕のモンキーレンチオフィシャルサイトでも使っています!

    .c-entry__content .contents-outline ol ol {
    	display: none;
    }
    0
    #1863
    キタジマ タカシ
    キーマスター
    339

    下記のコードで、特定の条件のときに目次をオフにできることを確認しました。

    /**
     * @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;
    } );
    0
    #1864
    Nobuhito Ohigashi
    参加者
    5

    ありがとうございます。

    条件設定ですが、

    サンプルですと、タグに markup-html-tags-and-formatting と設定したときに、目次が消えるという理解で良いでしょうか?(理解不足の場合は恐縮です)

    0
    #1865
    キタジマ タカシ
    キーマスター
    339

    あ、このサンプルだとスラッグが markup-html-tags-and-formatting の記事のとき、ですね。オン/オフしたい記事が少ないときはこういった条件指定でも良いと思いますが、多いときはカスタムフィールド系のプラグインとかをいれて、目次オン/オフ用のカスタムフィールドを作り、

    if ( 0 === get_post_meta( get_the_ID(), 'カスタムフィールド名', true ) ) {
        return false;
    }

    みたいな感じにしたほうが記事編集画面からポチポチで切り替えられるので便利かもしれません。
    (プラグインの仕様によって多少コード変わると思うので、上記あくまでサンプルです、すみません><)

    0
    #1867
    Nobuhito Ohigashi
    参加者
    5

    目次 h2 のみ出力する CSSは、無事に設定できました。

     特定記事の目次を出力停止するフックですが、私の理解不足でうまく反映できずです。

    /**
     * @param boolean $boolean 目次を表示するかどうか
     * @return boolean
     */
    add_filter( 'option_mwt-display-contents-outline', function( $boolean ) {
    		return false;
    } );
    

    試しにこのようにすると、全ての目次が出力停止となるはずなのですが、なぜか目次が出てきます。

    子テーマの functions.phpに書いているのですが、何を勘違いしているのか、ご指摘いただけると嬉しいです。

    0
    #1885
    キタジマ タカシ
    キーマスター
    339

    うーんなぜでしょうね…コード自体は間違ってないと思います。

    上記のページも、同様の方法で目次やらシェアボタンやらを非表示にしています。上記の場合は便宜上プラグインをつくって、そのプラグイン内にコードを書いていますが、目次を消すためにテストしたときは子テーマの functions.php でやったので、子テーマだからできないということはないはず…。

    デバッグモードにすると何かエラーが出たりはしていませんでしょうか。あとは、もしかしたら、フックの priority を上下させたら効いたりするかもしれません。何も指定しないときは priority は 10 になりますが、例えば下記のようにすることで変更できます。

    /**
     * priority を 9 にする(数値が小さいほど早く実行し、同じ数値の場合は追加された順に実行される)
     *
     * @param boolean $boolean 目次を表示するかどうか
     * @return boolean
     */
    add_filter( 'option_mwt-display-contents-outline', function( $boolean ) {
    	return false;
    }, 9 );
    0
7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • トピック「目次について」には新しい返信をつけることはできません。