Краткое объяснение: я использую гравитационные формы, чтобы предложить гравировку на продуктах, и я хотел бы проверить, есть ли в корзине продукт, используя поле Гравитационные формы.Затем, когда он есть, я хотел бы проверить, есть ли в поле Gravity Forms текстовый ввод или определенное поле установлено на «Да».
Есть что-то возможное с идентификаторами полей и идентификаторами форм, что было бы оченьсбивает с толку, чтобы найти все идентификаторы продуктов.Так что было бы лучше установить условную логику, основанную на именах полей.
Я начал понимать это самостоятельно, но я не знаю достаточно о программировании php, чтобы собрать все вещи вместе.
Вот то, что я придумал, чтобы проверить, использует ли продукт Gravity Forms:
в functions.php
add_action( 'woocommerce_after_cart_contents', 'check_gform_input' );
function check_gform_input($form_name) {
// Iterating through cart items (to get the item info)
foreach (WC()->cart->get_cart() as $cart_item) {
if (strpos($all_content,'[gravityform') !== false) {
echo 'Yeah, I found a Gravity Form!';
} else {
echo 'There is no Gravity Form :( ';
break;
}
}
}
Этот код возвращает мне 'НетФорма гравитации :( 'независимо от того, какой продукт находится в корзине.
У кого-нибудь есть еще идеи, как приблизиться к решению здесь?
Я получил основную идею этого кода отэтот сайт https://legacy.forums.gravityhelp.com/topic/check-if-form-exists и отсюда https://docs.gravityforms.com/gform_field_validation/