• 解決済 thikima

    (@thikima)


    contact form 7にてチェックボックスを用いて問い合わせを作成しようとしています。

    項目毎に改行して並べる方法については過去の質問を拝見し理解しましたが、
    項目内で任意の部分で改行をする方法がわからずにいます。

    イメージ
    チェックボックス
    □あああああああああああ
    あああああああ

    上記のように改行をしようとしていますが、項目を設定する””内に<br>や の様な改行を示すコードを入れても、そのまま文章として表示されてしまうか、不自然なスペースが出来るだけで改行になりません。

    もし改行する方法がございましたら何方かご教示いただけますと幸いです。

    バージョン:wordpress 5.6.2
    contact form 7 5.4.2

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • こんにちは

    チェックボックスのラベルにタグを挿入することはできません。
    ショートコードの出力を書換える (do_shortcode_tag フック辺り) ことになるのかなと思います。

    例:

    add_filter( 'do_shortcode_tag', function( $output, $tag, $attr ) {
    	if ( 'contact-form-7' == $tag || 'contact-form' == $tag ) {
    
    		$id = 123;           // コンタクトフォームの ID
    		$s  = '<br>';  // 置換対象文字列
    
    		if ( $id == $attr['id'] && false !== strpos( $output, $s ) ) {
    			$output = preg_replace_callback( '/(<span class="wpcf7-list-item-label">)(.*?)(<\/span>.*?)/i', function( $m ) use ( $s ) {
    				return $m[1] . str_replace( $s, '<br>', $m[2] ) . $m[3];
    			}, $output );
    		}
    	}
    	return $output;
    }, 10, 3 );

    訂正です。
    全レスのコードの
    $s = '<br>';
    の文字列は、
    &lt;br&gt;
    です。

    トピック投稿者 thikima

    (@thikima)

    ご連絡遅くなり申し訳ありません。
    助言ありがとうございます。
    まずいただいたものを試して様子を見ようと思います。
    どうにも厳しい場合は別な方法など検討したいと思います。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「contact form 7:項目内の改行について」には新たに返信することはできません。