カテゴリの説明をpタグ無しで出力する【WordPress】

正しい使い方じゃないかもしれませんが、最近カテゴリの説明に書いたテキストをh1に利用したりしているので、不都合な点を回避するための備忘録エントリです。

カテゴリを作成した時の説明文を記入するところには「この説明はデフォルトではあまり重要な意味を持ちませんが、これを表示するテーマも中にはあります。」とあります。普通にテキストとして表示していなくても、中にはカテゴリのリンクタグの中のtitleに利用しているテーマもあるようです。

この説明文を表示するには、

<?php echo(category_description()); ?>

として抜き出します。もうちょっと書けば、

<?php if ("" != category_description()) { ?>
<div class=""><?php echo category_description(); ?></div>
<?php } ?>

こんな感じかな。

引数にはカテゴリのID番号を入れればOKですが、なければ現在のページのカテゴリIDが割り当てられます。これを出力すると

<div class=""><p>カテゴリの説明文</p></div>

となり自動的にpタグで括られてしまうので、h1のテキストに使うと、

<h1><p>カテゴリの説明文</p></h1>

こういうなんとも嫌な感じになります。

pタグを消すには、テーマのfunctions.php等に

remove_filter('term_description','wpautop');

とすればpタグ無しでテキストだけ出力されます。普通にphpでstrip_tagsしてもいいでしょうけど、準備されているのでこっちの方がスマートですね。