0

ここで質問するのが正しいかどうかわかりませんが、試してみます。Ninja Forms を使用する Wordpress (Genesis フレームワーク - Agentpress PRO テーマ) で進行中のプロジェクトがあり、わずかな問題が発生しています。Web ページは次のとおりです。http://www.supercastor.net/wordpress/listings/castellon-65-m2-ytong/

リストページがあります(家のモデルごとに)。各リストには、ジェネシス フレームワークの単純な関数を介してアクセスできるメタデータがあります。

genesis_get_custom_field( 'CUSTOM_FIELD_NAME' );

上記のリンクのように、ユーザーが選択/選択解除できるチェックボックスのリストが必要で、最終的に TOTAL 値が計算されます。リストからのこの「カスタムフィールド」の値を割り当てることができないことを除いて、すべてが機能しています。

私はNinja Formsを使用しています。いくつかの調査の後、NFにカスタムフィールドを登録するソリューションを思いつきました:

function precio_basico_calc_display( $field_id, $data ){

    // Get the default_value
    if( isset( $data['default_value'] ) ){
    $def_value_new = genesis_get_custom_field( '_listing_precio_sort' );
    $data['default_value'] = $def_value_new;
        $default_value = $data['default_value'];
    debug_to_console("Default_value is set to:$default_value");
    }else{
        $default_value = '';
    debug_to_console("Default_value NOT SET");
    }

    $products_select = genesis_get_custom_field( '_listing_precio_sort' );
    }

    // Now that $products_select is populated with the listing_price, output a checkbox with the value of the price. ?>
    <input type="checkbox" name="ninja_forms_field_<?php echo $field_id;?>" value="<?php echo $products_select;?>" checked="checked" class="ninja-forms-field ninja-forms-field-calc-listen" disabled="disabled">
    <?php
}

小さな「debug_to_console」関数もありますが、これは簡単な「デバッグ」と同じです。値があることはわかりますが、計算では設定されていません。デフォルトを 40.000 に設定しましたが、各価格の値に設定する必要があります (リンクの例では、19.000 にする必要があります)。として:

$products_select = genesis_get_custom_field( '_listing_precio_sort' );

また、次のことも試しました(field_id 33はフォームのチェックボックスです):

add_filter( 'ninja_forms_field', 'my_filter_function', 10, 2 );

function my_filter_function( $data, $field_id ){
    if( $field_id == 33 ){
        $listing_price = genesis_get_custom_field( '_listing_precio_sort' );
        $data['default_value'] = $listing_price;
    }
    return $data;
}

しかし、それも機能していません。つまり、値は (コンソールに) 表示されますが、計算は正しく行われません。

ヘルプ!各リストの計算 (TOTAL) が正しく更新されるようにしたいだけです。default_value を変更するとうまくいくと思いましたが、そうではありません。道に迷いました :(

ありがとう!

4

0 に答える 0