ようこそのお運びで、厚く御礼申し上げます。
12日目です。今回はコンテンツ内ではなく「タイトル」をいじくってみます。
すべての記事でページの表示のとき、タイトルに文字列を追加してみる。
ある記事のページ表示のときに、記事タイトルに文字列を追加してみる。
今回の用途として、
これだけだと実用性はちょっとないかも。でも、条件定義等をして、応用は考えれると思います。
今まで作ってきたような、最新記事のタイトル一覧などの「一覧表示」のときと、「記事ページ」のときの表示を分けたいとき等に必要かな?ほぼ一覧取得のときタイトルを整形すること方が多いかもしれませんね。
まずは、functions.phpに書いてみます。
では、functions.phpに以下のコードを書きました。
function paka3_TitleAddStr($title, $post_ID){ if(is_single($post_ID) ){ $str = "【WordPress1日1プラグイン】"; return $title.$str; } //条件に合わない場合はそのまま返す return $title; } add_filter('the_title','paka3_TitleAddStr',10,2);
ポイントはどこ?
- 引数「$title」は現在表示している記事のタイトルです。
- 引数「$post_ID」は現在表示している記事のIDです。
- add_filter:指定したフィルターフックに、関数をフックします
add_filter('フックするフィルター名','呼び出す関数名',"10","引数の数")
今回は引数を2つ使ったので、add_filterの第4引数は”2”とします。 - タイトルのフィルター名は「the_title」
コードをプラグイン用のファイルにします
それではfunctions.phpに書いたコードを消して、
「paka3_TitleAddStr.php」というファイルを作成し、以下のコードを記入します。
このファイルを[wp-content]>「plugins」ディレクトリに入れ、管理画面で有効にして完了です。
今回のまとめ
今回は、単純な文字列の追加です。画像も同じようにできると思います。the_titleをフィルターするとき注意しないといけないのが、ウィジェットや他のプラグインで使われている可能性があるということでした。
今回はis_single(id)と簡単な条件定義をしています。テーマの作り方にもよりますが、しっかり検証してみた方が良さそうです。