車いすなコーダーAbout小樽で3年と少し経験を積み、現在は札幌でコーダーをしております。赤い電動車いすに乗って生活をしています。不便はありますが、行列待ち等の椅子がない状況では、真価を発揮します。※スロープやエレベーターに関しては、もはや好きという感情では収まり切れません。Packをはじめとするプラグインを使用すると実装できます。「そこまで多機能を求めていない...」「テーマ内で軽く実装したいなぁ...」なんて思うことも少なくはないと思います(極力プラグインは抑えたいし...)。いうわけで、今回の記事では個別にディスクリプションを設定する方法を自力実装する流れを、コードを交えながら紹介していきたいと思います!コンテンツ一覧ディスクリプションを返す関数を定義するまず前提として、以下のようなディスクリプションを返すようにしてみたいと思います。投稿・固定ページにおいて、カスタムフィールドにより個別のディスクリプション設定可能(アーカイブ等は一旦「設定」のディスクリプション適用)個別設定されていない場合、本文を引用し設定されるあくまでディスクリプションは120文字で抜粋されるはい、という感じです。実際に運用すると本文からの抜粋がメインとなる可能性大ですが、より自由度を高めるためカスタムフィールドでも設定できるようにしています。実際のコードは以下のようになります。)ということで、引数を設けています。これは、この関数を用いて今後他のメタタグも返すよう拡張していく想定であるためです。?>という記述となりますね。このコードにより、投稿・固定ページにおいて、個別のディスクリプション(設定がされていない場合、本文抜粋)を返すことが可能です。先程のコードにも記述があったように、個別のディスクリプションにおいてはカスタムフィールドを使用します。)こちらになりますね。この入力欄ですが、編集画面にデフォルトである「カスタムフィールド」を使ってもまぁ良いのですが、今回はテーマ側で入力欄を設けるようにしてみたいと思います。完成イメージは以下のようになります。入力された値の保存という3つのステップで関数を定義していく形となります。ブロックの追加add_meta_boxesというアクションにフックさせます。);このコードによりcustom_descriptionというカスタムフィールドが投稿・固定ページそれぞれに追加されます。この追加されたブロックの中身ですが、第3引数にあるbox_form_custom_descriptionという関数に準じます。ブロックの内容定義ブロックの追加説明にあったように、次はbox_form_custom_descriptionという関数を定義します。<p>個別でディスクリプションを設定する場合は、入力してください。--><?php}説明文とテキストフィールドが記述されたHTMLタグを定義しているという形になります。テキストフィールドのname属性はcustom_descriptionと合わせてます。残るはカスタムフィールドの保存処理ですね。保存する関数を定義し、save_postというアクションにフックさせます。);上記コードにより、投稿・固定ページにおいて保存がされたタイミングでカスタムフィールドを保存するという処理が行われます。)このコードは、例えば他にもカスタムフィールドを設けていた場合、その分記述が増えるという形ですね。コンテンツ一覧へ戻るディスクリプションをメタタグに設定はい、後はmetaのHTMLに出力させるのみですね。header.phpに記述という形になるかと思うのですが、以下のようなコードとなります。?>">コンテンツ一覧へ戻るというわけで、独自でカスタムフィールドを設けディスクリプションを設定できるようにする記事でした。Fields等のプラグインを使わずに済むかもしれませんね。Posts2019.07.15「別のプログラムがこのフォルダーまたはファイルを開いているので、操作を完了できません。