「cocoon」標準の目次を閉じた状態で表示する最も簡単な方法(記事ごとに設定可)

プログラミング等

どうもこじらです。

WordPressの構造ってマジムズじゃないですか?phpの知識がほとんどないのもあって、表示されている内容がどのファイルから引っ張ってこられてるのかすらよく分かってない状態…。

まぁ今回は「cocoon」標準の目次機能を閉じた状態で表示する方法を書きます。

あ、これ↓のことです。

書き方

書く場所は実装したい記事の編集ページの下の方にある「カスタムJavaScript」。

カスタムJavaScript

ここに書くコードはコレ。必要あるのか分からないけど念のためnull回避。

if (document.getElementById('toc-checkbox-1') != null) {
    document.getElementById('toc-checkbox-1').checked = false;
}

※適用(公開)時にはサーバのWAFを一瞬解除しないといけない可能性があります。やり方についてはレンタルサーバのコントロールパネルから設定できると思います。まぁ詳しくはググってください。

カスタムJavaScript機能の仕組み

このカスタムJavaScriptの機能は

theme/cocoon-master/lib/custom-fields/custom-js-field.phpに書かれています。

※テーブル接頭辞は”wp_”としているという前提で書きます。

custom-js-field.phpで書かれている処理

  • add_meta_box()を使用し、記事編集画面に表示する
  • update_post_meta()でカスタムJavaScriptに記載したコードを更新する(DBのwp_postmetaテーブルに、対象の投稿記事のid、meta:key:”_custom_js”で保存している模様。)
  • get_post_meta()でそれを取得する

って感じですね。この構造を理解していれば、プラグインなしでも、自分でカスタムフィールドを作ったり、既存のカスタムフィールドを作り替えたりできそうです。

ただ、まだ詳しくは分かっていませんwこの辺ちゃんと勉強しないとなぁw

アクションフックとadd_actionの理解を深めておけばやれる範囲が広がると思います。参考になりそうなリンクを置いておきます。
アクションフック一覧
【WordPress】アクションフックの使い方と一覧

こじらでした

じゃ

コメント

タイトルとURLをコピーしました