テーマの「functions.php」に次の記述を追加します。
function allow_html_description() { remove_filter('pre_term_description', 'wp_filter_kses'); } add_action('admin_init', 'allow_html_description');
http://yasada.biz/2008/wordpress_category_description/
※バージョンが違うので行数や記述方法が違いますが、3.5でも同じ処理を行っています。
WordPress2.3の場合
2.3の場合、編集するファイルは同じdefault-filters.phpですが、編集する場所が変わります。
14行目付近にある
[source='php']
// Kses only for textarea saves
$filters = array(‘pre_term_description’, ‘pre_link_description’, ‘pre_link_notes’, ‘pre_user_description’);
foreach ( $filters as $filter ) {
add_filter($filter, ‘wp_filter_kses’);
}
[/source]
という部分において、
[source='php']
// add_filter($filter, ‘wp_filter_kses’);
[/source]
とコメントアウトすればOKです。
http://ja.forums.wordpress.org/topic/1860
add_filter() されたフィルターは remove_filter() で取り除けます。したがって、プラグインで実行するならば、当該のフィルターを remove_filter() すればよいです。
※あるいは別の方法として、許可するタグを定義する事でも対応可能です。(こちらも「functions.php」に記述します。)
function custom_allowed_tags($text) { global $allowedtags; $allowedtags = array( 'a' => array( 'href' => true, 'title' => true, ), 'blockquote' => array( 'cite' => true, ), 'cite' => array(), 'code' => array(), 'del' => array( 'datetime' => true, ), 'div' => array( 'class' => true, 'id' => true, ), 'em' => array(), 'p' => array( 'class' => true, 'id' => true, ), 'span' => array( 'class' => true, 'id' => true, ), 'strong' => array(), ); return $text; } add_action('pre_term_description', 'custom_allowed_tags', 1);
※カテゴリーやタグのディスクリプションでデフォルトで許可されているHTMLタグ「$allowedtags」は、「wp-includes/kses.php」(※371行目以降)で確認できますので、書き方の参考にしてください。(許可するHTMLタグと属性を個別に指定します。)
いつもありがとうございます。確認します。
2013/04/04 14:51:19確認しました。本当にいつもありがとうございます。
2013/04/04 16:19:23