#php #wordpress #woocommerce #hook #divi
Вопрос:
Мне нужно добавить дополнительную цену в продукт woocommerce с опцией флажка, я получаю значение php для добавления $num = 5
из базы данных. Это работает только с числами, но не с переменной php вне области видимости. Я использую глобальный, но безрезультатно. Я ничего не мог добавить после этого . }
Вот мой код :
$sth = $pdo->prepare("SELECT TextBox3 FROM wprd1 ORDER BY id DESC LIMIT 1");
$sth->execute();
$result = $sth->fetch(PDO::FETCH_ASSOC);
$num = $result['TextBox3'];
echo $num;
global $num;
}
add_filter( 'woocommerce_add_cart_item_data', 'add_cart_item_data', 10, 3 );
function add_cart_item_data( $cart_item_data, $product_id, $variation_id ) {
global $num;
// get product id amp; price
$product = wc_get_product( $product_id );
$price = $product->get_price();
// extra pack checkbox
if( ! empty( $_POST['extra_pack'] ) ) {
$cart_item_data['new_price'] = $price 15 $num;
}
return $cart_item_data;
}
Конечным результатом является текущая цена $price 15
, но $num
она игнорируется.
Комментарии:
1.Каков контекст выполнения первого блока кода, выполнялся ли он вообще, когда вы выполняете запрос AJAX? И почему вы тогда не делаете этот запрос к
add_cart_item_data
базе данных?2. Я делал это раньше, но без конфигурации подключения к базе данных, думая, что это создаст дубликат, поэтому я вставил его, и он работает! Ваш комментарий вновь мотивировал меня. Спасибо CBroe.