在wordpress中编写高级自定义字段的php函数

hrirmatl  于 2023-01-29  发布在  PHP
关注(0)|答案(1)|浏览(138)

我想实现一个进度条使用elementor的WordPress网站,为此我已经使用了小部件进度条,但我添加的百分比值动态的进度值,为此我已经创建了一个字段百分比在我的活动详细信息组字段在前进自定义字段插件,其中有类型编号,并将其添加到进度条中的动态标签.之后,我已经添加了我的php代码在裁剪代码,我是新的php,所以不知道为什么它是不正确的,我确实在chatgpt其他来源的帮助下找到了错误。
我编写了两种类型的函数,在第一种类型中,我使用数组访问活动详细信息组字段,以访问其字段,在另一种类型中,我使用以下符号 get_field('group_field_name_subfield_name')

第一种类型

function calculate_donation_percentage($post_id) {
    $donation_received = get_field('Campaign Details', $post_id)['donation_received'];
    $donation_required = get_field('Campaign Details', $post_id)['donation_required'];

    if ($donation_required == 0) {
        $percentage = 0;
    } else {
        $percentage = ($donation_received / $donation_required) * 100;
    }

    update_field('Campaign Details', array('donation_percentage'=> $percentage), $post_id);
}
add_action('save_post', 'calculate_donation_percentage');

第二种类型

function calculate_donation_percentage($post_id) {
    $donation_received = get_field('Campaign Details_donation_received', $post_id);
    $donation_required = get_field('Campaign Details_donation_required', $post_id);

    if ($donation_required == 0) {
        $percentage = 0;
    } else {
        $percentage = ($donation_received / $donation_required) * 100;
    }

    update_field('Campaign Details_donation_percentage', $percentage, $post_id);
}
add_action('save_post', 'calculate_donation_percentage');

我读到过,我们也可以添加filter方法,用于将值添加到acf字段中

add_filter('acf/update_value/key=campaign_details_donation_percentage', 'calculate_donation_percentage', 10, 3);

请给予我一些想法,我是如何解决这个问题的。

lstz6jyr

lstz6jyr1#

在第一种类型,我认为你键入了错误的字段ID“活动细节”,ID不包含空格,检查您的acf Jmeter 板找到正确的字段ID,检查所附的图像。

相关问题