サポート » 使い方全般 » コメントに「(>_<)」を入力すると改行されない

  • 解決済 reciarai

    (@reciarai)


    コメントに顔文字の「(>_<)」を入力すると、それ以降のテキストに改行タグが挿入されなくなります。
    「wpautop」関数の不具合かもしれません。
    不等号を全角の「(>_<)」にすると、正しく改行タグが挿入されます。

    • このトピックは3年、 5ヶ月前にTakayuki Miyoshiが編集しました。理由: フォーラムカテゴリーを移動
5件の返信を表示中 - 1 - 5件目 (全5件中)
  • WordPressのコメント欄はHTMLタグを使えるため、顔文字の”<“がタグの始点と判定されエラーに繋がっていると思われます。
    顔文字の不等号を実体参照で記述するかコメント欄のHTMLタグを無効にすれば解決します。
    (HTMLタグを無効にすると実体参照はそのまま表示されるようになります。)

    HTMLを無効にする場合はテーマのfunctions.phpに以下を記述。

    function escape_tags( $comment_content ) {
    	if ( get_comment_type() == 'comment' ) {
    		$comment_content = htmlspecialchars($comment_content, ENT_QUOTES);
    	}
    	return $comment_content;
    }
    add_filter( 'comment_text',	'escape_tags', 9);
    add_filter( 'comment_text_rss',	'escape_tags', 9);
    add_filter( 'comment_excerpt',	'escape_tags', 9);
    
    • この返信は3年、 5ヶ月前にmoyo55が編集しました。
    トピック投稿者 reciarai

    (@reciarai)

    moyo55様、ご回答ありがとうございます。
    HTMLタグを使えるなら、<>はダメに決まってますね。
    初歩的な質問で、大変失礼いたしました。

    重ねての質問で恐縮ですが、functions.phpを書き換えると、テーマが更新された場合、上書きされてしまいますでしょうか?
    phpは全くの初心者なのですが、functions.local.phpのような書き方は可能でしょうか?

    トピック投稿者 reciarai

    (@reciarai)

    それと、「バグ報告と提案」フォーラムが適切でないのですが、他のフォーラムに変更することは可能でしょうか?

    テーマに直接書き込むと更新時に上書きされてしまうため、WordPressでは設定を上書きするための子テーマを利用するのが一般的です。
    詳しくは「WordPress 子テーマ」などの単語で検索して調べてみてください。
    大抵のテーマには子テーマが用意されているのでそれを使い、子テーマ内のfunctions.phpに書けばOKです。
    もし子テーマが無い場合には自分で作ることになります。
    (子テーマを作成できるプラグインなどもあるようです。)

    親テーマに手を加えない暫定的な対応としては「プラグイン化」という選択肢もあります。
    これも詳しくは検索して調べてください。
    ざっくり手順を説明すると、プラグインフォルダ内に自作プラグインのフォルダを作り、その中に自作プラグインのphpファイルを作り

    <?php
    /*
    Plugin Name: コメント欄のHTMLタグ無効化プラグイン
    Description: コメント欄のHTMLタグを無効化する
    Version: 1.0.0
    */
    function escape_tags( $comment_content ) {
    	if ( get_comment_type() == 'comment' ) {
    		$comment_content = htmlspecialchars($comment_content, ENT_QUOTES);
    	}
    	return $comment_content;
    }
    add_filter( 'comment_text',	'escape_tags', 9);
    add_filter( 'comment_text_rss',	'escape_tags', 9);
    add_filter( 'comment_excerpt',	'escape_tags', 9);

    といった内容の記述してプラグインページで有効化すればOKです。
    (記述ミスをしてエラーが出た場合はftpから自作プラグインフォルダを削除してください)

    フォーラム変更が出来るかはわかりません、すみません。

    トピック投稿者 reciarai

    (@reciarai)

    moyo55様、早速のご回答ありがとうございます。
    子テーマを利用すると、安全にオーバーライドできるのですね。
    調べてみます。

    フォーラム変更につきましても、承知いたしました。
    内容が「バグ報告と提案」ではなくて恐縮ですが、これでcloseしたいと思います。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「コメントに「(>_<)」を入力すると改行されない」には新たに返信することはできません。