記事タイトルの上にカテゴリ名を表示
Genesisのgenesis_entry_headerにカテゴリ名を追加する方法です。
まずはソース。
functions.phpに追記します。
個別ページにのみ対応させるために「if(!is_singular()){return;}」で個別ページ以外はreturnで実行しないようにしています。
アーカイブページ(一覧)にも対応させる場合は、if(!is_singular()){return;}は不要です。
色々なパターンが考えられますので、下記に記載して起きます。
色々なパターン
個別ページにのみ対応させる
WordPressの条件分岐タグ「is_singular()」で、個別ページであるかのチェックをし、該当しなければreturnで以下のプログラムを実行しないようにしています。
条件分岐タグis_singular()とは?
個別の投稿を表示中であるかチェックする条件分岐タグで、
is_single():投稿ページ
is_page():固定ページ
is_attachment():アップロードされたイメージや他のファイル
のいずれかがtrue(表示されている場合)の場合にis_singular()はtrueとなります。
カテゴリ名にリンクが不要な場合
カテゴリ名にリンクが不要な場合は、単純にget_the_category()でカテゴリ名を取得したものを表示しています。
カテゴリ名にリンクが必要な場合
カテゴリ名にリンクが必要な場合は、Genesisのショートコードである「post_categories」をdo_shortcode()で取得しています。
リンクが不要な場合と同様にWordpressの関数を使って「get_the_category()」でカテゴリIDを取得しリンクURLを取得してくる形でも良いのですが、よりシンプルなソースで可読性をよくしておきたいのでこの形にしています。
アーカイブページにも対応させる
アーカイブページにも対応させる場合は、if(!is_singular()){return;}の行を削除することで対応可能です。
カテゴリ名にリンクが不要な場合
カテゴリ名にリンクが必要な場合
思った位置に表示されない場合は?
add_actionの第三引数の数字を変更することで表示位置を調整できます。
add_actionの第三引数は、実行する順番を指定できるオプションです。
上記例では、add_actionの第三引数を全て9にしています。
これの数字を小さくすれば、今よりも前で実行され、大きくすれば、今よりも後に実行されます。
コメントを残す