[WP]wp_list_categoriesでパラメータuse_desc_for_title=falseがうまく作動しないからtitle=falseとしたら動いた

WordPress
スポンサーリンク

use_desc_for_titleが動かない問題

wp_list_categoriesのパラメータuse_desc_for_titleがうまく動かない…、とずっと言われ続けてきていますが、WordPress3.3になっても、どうやら正常に動いてないみたい模様ですね。

<?php wp_list_categories(); ?>でカテゴリを一覧で吐き出すと


のように、「title=”hogeに含まれる投稿をすべて表示”」が表示されてしまいますので、今回はこの「に含まれる投稿をすべて表示」の文言を表示させない方法を紹介させていただきます。


「カテゴリ説明」を登録した上で「title=false」を使う

今ところ、これが個人的に上手く動いている方法です。

カテゴリの説明の登録

手順としては、WordPress 管理画面よりカテゴリの設定ページへ遷移し、面倒ですけれども「カテゴリの説明」を登録します。
wp_list_categoriesで、パラメータ「use_desc_for_title=false」がうまく作動しないから「title=false」としたら動いた

テーマファイルの編集

編集と言っても<?php wp_list_categories(); ?>のパラメータを変更するだけですが、
sidebar.phpなどに


と書きます。

wp_list_categoriesのパラメータは & でつないで複数設定することが出来ますので、例えば特定カテゴリ(カテゴリID1、2、3、5、7の場合)を出力する時は


のような感じになります。

「name」でソートする場合は


のような感じになります。

注意点としては、title=falseを追記したとしても、WordPress管理画面のカテゴリ設定ページで、カテゴリの説明が登録されていない場合は「title=”hogeに含まれる投稿をすべて表示”」とデフォルトの状態で吐き出されてしまいます。


wp-includes/category-template.php を編集する

もう1つ別の方法を紹介します。

カテゴリ説明の登録が面倒…あるいはファイル側だけで作業を完結したい!という場合は、
WordPress 3.1以降 「~に含まれる投稿をすべて表示」を非表示にする の記事でも紹介されているように、wp-includes/category-template.phpファイルの


という箇所を


のように変更してしまう方法もあるようですね。

ただ、WordPress3.3から上記「$link」が記述されているファイルがcategory-template.phpに変わった…など、WordPress本体のバージョンアップの際には注意が必要になりそうですね。

コメント

タイトルとURLをコピーしました