0

我不知道这是否是正确的地方,但我会尝试。我有一个使用 Ninja Forms 的 Wordpress(Genesis 框架 - Agentpress PRO 主题)正在进行的项目,并且遇到了一个小问题。网页是:http ://www.supercastor.net/wordpress/listings/castellon-65-m2-ytong/

我有一个列表页面(针对每个房屋模型)。每个列表都有元数据,可以通过 genesis 框架中的一个简单函数访问:

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;
}

但它也不起作用。我的意思是,它确实显示了值(在控制台中),但没有正确计算。

帮助!我只想为每个列表正确更新计算(总计)。我认为更改 default_value 可以,但事实并非如此。我迷路了 :(

谢谢!

4

0 回答 0