Показывать продукт woocommerce после отправки гравитационной формы - PullRequest
0 голосов
/ 09 ноября 2018

в приведенном ниже коде будут напечатаны товары, относящиеся к той же категории, то есть $ field_two будет содержать категорию.

add_action( 'gform_after_submission_1', 'access_entry_via_field', 10, 2 );

function access_entry_via_field( $entry, $form ) {

    $field_one = $_POST['input_1'];
    $field_two = $_POST['input_6'];

    $items = array("age"=>"$field_one", "skin_type"=>"$field_two");

    $args = array(
        "category" => array("$field_two"),
    );

    $products = wc_get_products($args);

    var_dump($products); exit();

}

После того, как форма гравитации представлена, Как показать продукты ??

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Для этого вам необходимо изменить подтверждающее сообщение формы, в которой вы получаете значения записей, чтобы использовать их после фильтрации результатов

add_filter( 'gform_confirmation_1', 'custom_confirmation_message', 10, 4 );
function custom_confirmation_message( $confirmation, $form, $entry, $ajax ) {
   $field_one = $entry["1.1"];
   $field_two = $entry["1.6"];

   $items = array("age"=>"$field_one", "skin_type"=>"$field_two");

   $args = array(
       "category" => array("$field_two"),
    );
    $products = wc_get_products($args);

    $confirmation .= 'Thanks for contacting us! We will get in touch with you shortly.';
    $confirmation .= $products;

return $confirmation;
}
0 голосов
/ 09 ноября 2018

Попробуйте этот фильтр. gform_confirmation вместо gform_after_submission.

https://docs.gravityforms.com/gform_confirmation/

Обновление : для отображения продуктов woocommerce на странице подтверждения используйте это (просто замените номера идентификаторами продуктов):

echo do_shortcode('[products ids="1, 2, 3, 4, 5"]');
...