Если вы отключите добавление товаров в корзину при помощи AJAX, то можете заметить, что для добавления товара WooCommerce переходит по ссылке http://ваш-сайт/?add-to-cart=XX
. Где XX
– это ID товара. В этом уроке я покажу вам сниппет кода, который позволит делать то же самое, используя артикулы.
Также хочу порекомендовать вам свой видеокурс по WooCommerce, в котором мы учимся создавать тему для интернет-магазина с нуля на основе готовой HTML-вёрстки.
Артикул товара можно указать в метабоксе «Данные товара» во вкладке «Запасы».
После этого переходим по ссылке http://ваш-сайт/?add-to-cart=SKU
. Где SKU
– это и есть артикул.
Итак, а теперь готовый код, который будет работать следующим образом:
/** * @snippet Добавление товара в корзину по URL при помощи артикула * @author Миша Рудрастых * @url https://misha.agency/woocommerce/dobavlenie-tovara-v-korzinu-po-url-pri-pomoshhi-artikula.html */ add_filter( 'woocommerce_add_to_cart_product_id', 'true_get_id_by_sku', 25 ); function true_get_id_by_sku( $add_to_cart ) { global $wpdb; $product_id = $wpdb->get_var( $wpdb->prepare( " SELECT post_id FROM $wpdb->postmeta WHERE meta_key='_sku' AND meta_value='%s' LIMIT 1 ", $add_to_cart ) ); if ( $product_id ) { return $product_id; } return $add_to_cart; }
Не знаете, куда вставлять код?
Подробнее про объект $wpdb
и про работу с базой данных WordPress можете почитать здесь.
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.