Support

Account

Home Forums ACF PRO Save/update field of custom field with function Reply To: Save/update field of custom field with function

  • Hello John,

    That is exactly what it is.

    Where and how the “Average” rating is updated on the Provider post I dont know. This is a plug-in I’m using.

    I know the answer on the When, when a new review gets submitted on the Provider post.

    With this function:

    function when_a_review_gets_submitted ($review, $post_id) {
    // Do something
    }
    
    add_action('rwp_after_saving_review', 'when_a_review_gets_submitted', 11, 2);

    I can do something after a new review is submited.

    I want to do this:

    // Set up the objects needed
    $hosting_provider_query = new WP_Query();
    global $post;
    $hosting_pagina_titel = $post->post_title;  
    $search_all_pages = $hosting_provider_query->query(array(
        'post_type' => 'page',
        'post_status' => 'publish',
        //Only get pages where custom field 'name_hosting_provider' equals Page title
        'meta_query' => array(
            'relation' => 'AND',
            array(
                'key' => 'naam_hosting_provivder',
                'value' => $hosting_pagina_titel,
                'compare'   => '='
            ),
    
        ),
    ));
    
    // Loop through all pages and find Page's children
    $loop_through_all_child_pages = get_page_children( get_the_ID(), $search_all_pages );
    
    // Loop through everything we got back
    if(!empty($loop_through_all_child_pages)){
        foreach($loop_through_all_child_pages as $child_page){
            // get the ID of each childpage
            $get_child_page_ID = $child_page->ID;
            // get the ID of each parent page of the child pages
            $get_parent_page_ID = get_queried_object_id();
            // Get the average score from post_meta of the parent page
            $get_average_score = get_post_meta( $get_parent_page_ID, 'rwp_user_score', true );
            // update each custom field of the childs with the average score data from the post meta of parent page
            update_field('gemiddelde_score_hosting_provider', $get_average_score, $get_child_page_ID);
        }
    }

    I once got it working when adding the above script inside the function with this extra action:

    add_action( 'template_redirect', 'when_a_review_gets_submitted' );

    but this is causing an error now and nothing is getting updated.

    Error

    Warning: Missing argument 2 for when_a_review_gets_submitted(), called in /var/www/vhosts/domainname.nl/httpdocs/wp-includes/class-wp-hook.php on line 286 and defined in /var/www/vhosts/domainname.nl/httpdocs/wp-content/themes/hosting-vergelijker/functions.php on line 452

    You have any idea how to get this done?