サポート » 使い方全般 » コメントフォームでWaring Error

  • 解決済 taka_fumi

    (@taka_fumi)


    固定ページの1つをコメントページ(掲示板)としてTwenty Tenが元々持っているコメントフォームを利用しています。

    これとは別の固定ページで、通販用に Form Manager で作ったフォームを表示させました。
    (これには掲示板的機能はありません。試しにInquiry form creator というコメントフォームでも試してみましたが同じエラーが出ます)

    この状態で、元々のコメントページにあったフォームに書き込むと、ページ内に以下のエラーを表示し、管理画面のコメントではAkismetによってスパム扱いされてしまいます。

    Warning: call_user_func((テーマ名)_comment) [function.call-user-func]: First argument is expected to be a valid callback in /home/…………/wp-includes/comment-template.php on line 1333

    ところが、comment-template.php の1333 行目を見ても } しかなく、何がエラーなのか判りません。
    このような使い方はできないのでしょうか。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター jim912

    (@jim912)

    taka_fumiさん、こんにちは。

    3.1.2での1333行目は、下記となっています。

    1328	function start_el(&$output, $comment, $depth, $args) {
    1329		$depth++;
    1330		$GLOBALS['comment_depth'] = $depth;
    1331
    1332		if ( !empty($args['callback']) ) {
    1333			call_user_func($args['callback'], $comment, $args, $depth);
    1334			return;
    1335		}

    ここでエラーが出ているということは、例えば

    wp_list_comments( array( 'callback' => 'twentyten_comment' ) );

    といった指定で、callbackのパラメータで存在しない関数名を指定した場合に発生します。

    エラーとエディターの行数表示が合わないのは、長い行で折り返し表示となっている場合に、2行として換算している可能性があります。

    トピック投稿者 taka_fumi

    (@taka_fumi)

    jim912さん、ありがとうございます。
    どうしても判らなかったので、それまでの commetns.php と comment-template.php をリネーム後オリジナルを入れたところ Warning については直ってしまいました。
    元々、わからないままいじっていたのでどこかおかしくしてしまったんだと思います。

    スパム扱いについては検索するとどうもそのようなことがあるようですね。
    何度かスパム解除することで正常に戻りました。

    また、判らなくなったら質問させていただきます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「コメントフォームでWaring Error」には新たに返信することはできません。