ここで質問するのが正しいかどうかわかりませんが、試してみます。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 を変更するとうまくいくと思いましたが、そうではありません。道に迷いました :(
ありがとう!