[WordPress] category_description()でタグを使用可能にする

公開
更新日

スポンサーリンク

ワードプレスのカテゴリーや投稿タグには、その項目についての説明を表示する機能があります。

WordPressカテゴリー新規作成欄

一番下にある「説明」という欄に入れて使います。まあ「デフォルトではあまり重要な意味を持ちません」と書いてある通り、あまり使われていないっぽい機能ですが、使ってみるとなかなか便利です。

使い方

説明の表示にはWordPress関数のcategory_description()を使います。archive.phpの、表示させたいところで以下のように書きます。

  echo category_description();

ちなみにcategory_description()という名前がついていますが、カテゴリーの説明だけでなく、タグの説明でも同じように使います。

説明が入力されていない場合は何も表示されません。

説明欄でhtmlタグを保存可能にする

この説明欄、初期状態ではhtmlタグを保存できません。htmlタグを入力すると勝手に削除してしまう。これでは説明欄で画像やテーブルを使いたいときなどに困るので、function.phpに以下のフィルターを付け加えてhtmlタグを保存可能にします。

  remove_filter( 'pre_term_description', 'wp_filter_kses' );

カテゴリー説明にhtmlタグを保存する方法を検索してみたところ、wp-includes/default-filters.phpの該当箇所をコメントアウトすることで使用可能にする方法を紹介しているサイトが目についたのですが、それだとWordPressをバージョンアップする度にコメントアウトしなおす必要があるので、function.phpにremove_filter()を書いた方がいいです。これならバージョンアップしても問題なく使えます。

スポンサーリンク


Comment


  1. omiya saki : 投稿日:2012年2月17日 5:08 PM

    すごい!素敵!素晴らしいです!
    カテゴリ毎にテンプレート作るの大変だ‐と思っていたので、
    嬉しくてメールしました。
    ありがとうございます。

  2. 管理人 : 投稿日:2012年2月24日 1:42 PM

    >>omiya sakiさん
    こちらこそ、お役に立てたようで嬉しいです!

  3. ume : 投稿日:2012年4月30日 3:24 PM

    管理人様

    いろいろ検索して、ようやくこちらに辿り着いたのですが

    remove_filter( ‘pre_term_description’, ‘wp_filter_kses’ );

    のコードを、function.phpの何行に加えればよいのか
    いろいろやってみたのですが、わかりません

    大変お手数ですが、教えていただけないでしょうか?

  4. 管理人 : 投稿日:2012年5月14日 7:18 AM

    >>umeさん
    function.phpならどこに書いても大丈夫ですが、
    取りあえずは一番下に書いておくのが無難だと思います。

  5. リナ : 投稿日:2013年7月21日 10:38 PM

    ありがとうございます!
    ずっと、できないと思って諦めていた所だけに、感動しました!