• MW WP Formで自動改行処理を無効にしたく、プラグイン公式サイトにも記述されている以下のコードを参考にしておりますが、MW WP Formで作成した複数のフォームがあり、その全てで無効にしたい場合は、mwform_content_wpautop_mw-wp-form-xxxの部分はどのように記述すれば良いのでしょうか?
    また、$view_flg === 'input'の部分についても、input|confirm|complete 全てのページで無効にしたい場合の記述方法はありますでしょうか?

    /**
     * @param bool $has_wpautop wpautop が有効かどうか
     * @return string $view_flg どの画面かを識別するフラグ input|confirm|complete
     */
    function my_mwform_content_wpautop( $has_wpautop, $view_flg ) {
        // 入力画面では自動改行をしない例
        if ( $view_flg === 'input' ) {
            return false;
        }
        return $has_wpautop;
    }
    add_filter( 'mwform_content_wpautop_mw-wp-form-xxx', 'my_mwform_content_wpautop', 10, 2 );
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは

    全てのフォームを対象としたフックはないようなので、対象とするフォーム分フックする必要がありそうです。

    add_filter( 'mwform_content_wpautop_mw-wp-form-123', 'my_mwform_content_wpautop', 10, 2 );
    add_filter( 'mwform_content_wpautop_mw-wp-form-456', 'my_mwform_content_wpautop', 10, 2 );

    全てのビュー(入力・確認・完了画面)で、自動改行処理をしないということなので、__return_false() でもいいかもしれません。

    add_filter( 'mwform_content_wpautop_mw-wp-form-123', '__return_false' );
    add_filter( 'mwform_content_wpautop_mw-wp-form-456', '__return_false' );

    全てのフォームを常に対象とする場合は、下記のようなにするのもいいかもしれません。

    if ( class_exists( 'MW_WP_Form_Admin' ) ) {
    	$mw_wp_form_admin = new MW_WP_Form_Admin();
    	$forms = $mw_wp_form_admin->get_forms();
    	foreach ( $forms as $form ) {
    		add_filter( 'mwform_content_wpautop_mw-wp-form-' . $form->ID, '__return_false' );
    	}
    }
    トピック投稿者 asako

    (@asako08)

    ありがとうございます。
    以下の記述で全てのフォーム、自動改行処理無効にできました!

    function sample() {
    	if ( class_exists( 'MW_WP_Form_Admin' ) ) {
    		$mw_wp_form_admin = new MW_WP_Form_Admin();
    		$forms = $mw_wp_form_admin->get_forms();
    		foreach ( $forms as $form ) {
    			add_filter( 'mwform_content_wpautop_mw-wp-form-' . $form->ID, '__return_false' );
    		}
    	}	
    }
    sample();
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「MW WP Form の自動改行処理を設定するフィルターフックについて」には新たに返信することはできません。