単体記事でコメントを書き出す際、勝手に p タグが書き出されてしまう。
これは comment_text() 関数内で行なわれている以下の処理が原因。
#wp-includes/comment-template.php
----------------------------------------------------------------------
function comment_text() {
echo apply_filters('comment_text', get_comment_text() );
}
----------------------------------------------------------------------
しかしこれを以下のようにすると、コメントの改行が無効になってしまう。
#wp-includes/comment-template.php
----------------------------------------------------------------------
function comment_text() {
echo get_comment_text();
//echo apply_filters('comment_text', get_comment_text() );
}
----------------------------------------------------------------------
そこで、"functions.php" へ新たに関数を追加してみた。
#wp-content/themes/テーマ/functions.php
----------------------------------------------------------------------
function comment_text_nl2br() {
echo nl2br(get_comment_text());
}
----------------------------------------------------------------------
ここで注意してほしいのは、"comment-template.php" ではなく "functions.php" に関数を追加するということ。
何故かというと、この関数追加は既存システムの「修正」ではなく「拡張」であるから。
"comment-template.php" は全てのテーマ共通で使用しているソースであり、今回の p タグを取り除くという行為は現在作成しているテーマでのみ「拡張」として使用するのだ。
しかしソースコード管理について深く考えたくない人はご自身のやりやすいようにw
WordPressを本格的に触ってまだ2日目。
もしかするとこの対策は間違えているかも知れまへん。
もっと良い方法をご存知の方がいたら教えてくらさいー。
(apply_filters() の解析が面倒www)
これは comment_text() 関数内で行なわれている以下の処理が原因。
#wp-includes/comment-template.php
----------------------------------------------------------------------
function comment_text() {
echo apply_filters('comment_text', get_comment_text() );
}
----------------------------------------------------------------------
しかしこれを以下のようにすると、コメントの改行が無効になってしまう。
#wp-includes/comment-template.php
----------------------------------------------------------------------
function comment_text() {
echo get_comment_text();
//echo apply_filters('comment_text', get_comment_text() );
}
----------------------------------------------------------------------
そこで、"functions.php" へ新たに関数を追加してみた。
#wp-content/themes/テーマ/functions.php
----------------------------------------------------------------------
function comment_text_nl2br() {
echo nl2br(get_comment_text());
}
----------------------------------------------------------------------
ここで注意してほしいのは、"comment-template.php" ではなく "functions.php" に関数を追加するということ。
何故かというと、この関数追加は既存システムの「修正」ではなく「拡張」であるから。
"comment-template.php" は全てのテーマ共通で使用しているソースであり、今回の p タグを取り除くという行為は現在作成しているテーマでのみ「拡張」として使用するのだ。
しかしソースコード管理について深く考えたくない人はご自身のやりやすいようにw
WordPressを本格的に触ってまだ2日目。
もしかするとこの対策は間違えているかも知れまへん。
もっと良い方法をご存知の方がいたら教えてくらさいー。
(apply_filters() の解析が面倒www)