Moral Hazard!!

ドラマーが音楽やホームページやガラクタを作るよ。

投稿内の空pタグを除去すると、Contactform7で送信時にエラーが出た話

No Comment 駄日記

状況

contactform7で送信時に、

「e.wpcf7.parent.queryselector(…) is null」

というエラーが出ていた。
送信後にThank you ページに遷移というベタな動きを入れていたが、遷移せず。

原因

wpautop()が出力時に空pタグを挿入するのを除去するために、jsで

$("p:empty").remove();

と入れていたのが、contactformの送信時の邪魔をしていた。

対策

次善策ではあるが、ドキュメント読込後に

if (!$("div.wpcf7").length) {
        $("p:empty").remove();
    }

とcontactform7が存在しない場合だけ空pタグを除去するように変更。