カテゴリーやカスタムタクソノミーの「説明」を取得した時に自動で入るpタグやbrタグを取り除く方法

カテゴリーやカスタムタクソノミーの「説明」を取得した時に自動で入るpタグやbrタグを取り除く方法

カテゴリーやカスタムタクソノミーの「説明」を取得した時に自動で入るpタグやbrタグを取り除く方法

カテゴリーやカスタムタクソノミー、タグの「説明」に設定されている説明文は、category_descriptionやterm_description関数を使うことで簡単に取得可能です。

<?php $description = category_description(); //カテゴリーの説明文 ?>
<?php $description = tag_description(); //タグの説明文 ?>
<?php $description = term_description(); //タームの説明文 ?>

ですが、説明文を取得して出力すると、段落が<p>タグで囲われていたり、改行部分に<br>タグが入っていたりします。投稿エディターの自動整形機能と同じような仕組みで、自動でタグが入るようになっています。

カテゴリーやカスタムタクソノミーの「説明」で、<p>や<br>が入る自動整形機能を無効化する方法をご紹介いたします。

カテゴリーやカスタムタクソノミーの「説明」で自動整形機能を無効化する方法

「説明」で余計なタグが入るのを防ぐためには、適用しているテーマのfunctions.phpに以下1行を追加するだけでOKです。

remove_filter('term_description', 'wpautop');

これで自動整形機能が無効化され、<p>タグや<br>タグが勝手に入らなくなります。

改行は活かす出力方法

自動整形は停止するけど改行はそのままで出力したいことがあったので、以下のように改行コードを<br>に変換する処理を追加して対応しました。

<?php
$description = category_description();
echo nl2br(esc_textarea($description));
?>

あとがき

カテゴリー一覧で表示しているカテゴリーの説明文を表示するケースは結構あるので、テーマをカスタマイズする方は覚えておくと役立つと思います。

自動整形によって意図した出力にならない時は、上述した無効化をお試しください。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です