ようこそのお運びで、厚く御礼申し上げます。
15日目です。今回も前回と同じくはタイトル処理の応用をしてみます。
「特定のタグ」の記事のタイトルに、文字列を追加してみる
特定のタグに属しているすべての記事のタイトルの末尾に、文字列を追加してみます。
まずは、functions.phpに書いてみます。
では、functions.phpに以下のコードを書きました。
function paka3_TitleTagAddStr($title, $post_ID){ if(is_single($post_ID) ){ //表示するタグを指定する $tag = "タグテスト1"; foreach(get_the_tags() as $tags){ //一つでも見つかれば離脱 if($tags->name == $tag){ $str = "【WordPress1日1プラグイン】"; return $title.$str; } } } //条件に合わない場合はそのまま返す return $title; } add_filter('the_title','paka3_TitleTagAddStr',10,2);
ポイントはどこ?
- 引数「$title」は現在表示している記事のタイトルです。
- 引数「$post_ID」は現在表示している記事のIDです。
- 現在の記事のタグはget_the_tags()で取得します
- add_filter:指定したフィルターフックに、関数をフックします
- add_filter('フックするフィルター名','呼び出す関数名',"10","引数の数")
今回は引数を2つ使ったので、add_filterの第4引数は”2”とします。 - タイトルのフィルター名は「the_title」
コードをプラグイン用のファイルにします
それではfunctions.phpに書いたコードを消して、
「paka3_TitleTagAddStr.php」というファイルを作成し、以下のコードを記入します。
このファイルを[wp-content]>「plugins」ディレクトリに入れ、管理画面で有効にして完了です。
今回のまとめ
タグを指定したタイトルの処理を行ってみました。前回のカテゴリと同じくではありますが、タイトル処理をする場合は、SEO対策とか、例えばトップページの表題と記事名が違う場合等に使えるかもしれません。なかなか、そのときになってみないとわかりませんが…。お後がよろしいようで。