WordPress

「特定のカテゴリ」の記事のタイトルに文字列を追加してみる:【14日目】WordPress1日1プラグイン

更新日:

ようこそのお運びで、厚く御礼申し上げます。
14日目です。今回はタイトル処理の応用をしてみます。

「特定のカテゴリ」の記事のタイトルに、文字列を追加してみる

特定のカテゴリに属しているすべての記事のタイトルの末尾に、文字列を追加してみます。

まずは、functions.phpに書いてみます。

では、functions.phpに以下のコードを書きました。

function paka3_TitleCatAddStr($title, $post_ID){
    if(is_single($post_ID) ){
      //表示するカテゴリIDを指定する
      $catID = 13;

      //一つでも見つかれば離脱
      foreach(get_the_category() as $cat){
       if($cat->cat_ID == $catID){
         $str = "【WordPress1日1プラグイン】";
         return $title.$str;
       }

      }
    }
   //条件に合わない場合はそのまま返す
   return $title;
  }
add_filter('the_title','paka3_TitleCatAddStr',10,2);

ポイントはどこ?

  • 引数「$title」は現在表示している記事のタイトルです。
  • 引数「$post_ID」は現在表示している記事のIDです。
  • 現在の記事のカテゴリはget_the_category()取得します
  • add_filter:指定したフィルターフックに、関数をフックします
  • add_filter('フックするフィルター名','呼び出す関数名',"10","引数の数")
    今回は引数を2つ使ったので、add_filterの第4引数は”2”とします。
  •  タイトルのフィルター名は「the_title

コードをプラグイン用のファイルにします

それではfunctions.phpに書いたコードを消して、
paka3_TitleCatAddStr.php」というファイルを作成し、以下のコードを記入します。

このファイルを[wp-content]>「plugins」ディレクトリに入れ、管理画面で有効にして完了です。

今回のまとめ

カテゴリを指定したタイトルの処理を行ってみました。実際に処理を行う場合は、他のところで不具合が出る可能性があると前回書いたのですが、その場合は早めに諦めてテンプレート等で処理をした方がよいかもしれません。

-WordPress
-, ,

Copyright© アルパカ@ラボ , 2024 All Rights Reserved Powered by AFFINGER5.