Support

Account

Home Forums Backend Issues (wp-admin) Saving URL-Parameter (Cookie) to an WC-Order via ACF

Solving

Saving URL-Parameter (Cookie) to an WC-Order via ACF

  • Hey everybody,

    i want to save an URL-Parameter that we also store in a Browser-Cookie to an Order. This way i want to check if Cooperations, Google Ads etc. work and add something to the order if e.g.someone came from a Blog-Post-Cooperation. I dont want to use Coupons for that.

    Any idea?

    I already created ACF Text-Fields for the Orders but i dont know how to save the cookie-value in it.

    All the best

  • Will this field be something that the person submitting the order should be able to see?

  • No – only for the backend / me, packing packages etc.

  • The first thing I would do is to not show the field on the front end. For this use an acf/prepare_field filter

    
    your_filter_name($field) {
      if (!is_admin()) {
        return false;
      }
      return $field;
    }
    

    As far as saving the cookie value to the field, there are a couple of way you can do this. I would try using an acf/save_post action with a priority > 10

    I do not have all the details for this function, just an outline.

    
    function your_save_function_name($post_id) {
      // I am not exactly sure what goes in post type check
      // this should be the WC order post type I think
      if (get_post_type($post_id) != 'the right post type') {
        return;
      }
      // check the value of the cookie
      if (!empty($_COOKIE['your-cookie-name')) {
        $value = code_here_to_get_value_to_set(); // depends on how your cookie value is stored
        // use the field key to update the field --- NOT the field name
        update_field('field_XXXXXXXX', $value. $post_id);
      }
    }
    
Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.