В Woocommerce я пытаюсь найти способ применить 20% скидку на первый заказ, сделанный новым клиентом. Похоже, что для этого я могу использовать функции woocommerce_after_checkout_validation и check_new_customer_coupon , но это не сработает. function.php: add_action('woocommerce_after_checkout_validation','check_new_customer_coupon', 0); function check_new_customer_coupon(){ global $woocommerce; // you might change the name of your coupon $new_cust_coupon_code = 'test'; $has_apply_coupon = false; foreach ( […]
Таким образом, о скрытии виджета для определенных пользовательских ролей, исключая Admin.Using настраиваемый плагин боковой панели, я не хочу показывать на концах пользователей. Список всех виджетов Dashboard через function list_active_dashboard_widgets() { global $wp_meta_boxes; foreach (array_keys($wp_meta_boxes['dashboard']['normal']['core']) as $name) { echo '<div>' . $name . '</div>'; } } add_action('wp_dashboard_setup', 'list_active_dashboard_widgets'); и нашел таможенные бары-мб То, что я делаю […]
Я создаю сайт электронной коммерции WP с несколькими категориями и подкатегориями и должен удалить заголовки подкатегорий только на одной странице архива (slug = ' paving-brands '): http://redyearclients.co.uk/PandF/product-category/exterior-paving/paving-brands/ Все остальные страницы категорий и подкатегорий все еще нуждаются в названиях подкатегорий, эта страница, например, должна оставаться такой, какой она есть сейчас : http://redyearclients.co.uk/PandF/product-category/exterior-paving/paving-stone-types/ Большое спасибо.
Я хотел бы переименовать 'Add to Cart' в 'Sold Out' когда продукт будет продан в WooCommerce. Это мой код: add_filter( 'add_to_cart_text', 'woo_custom_single_add_to_cart_text' ); add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_single_add_to_cart_text' ); // 2.1 + function woo_custom_single_add_to_cart_text() { if( $product->get_stock_quantity() == 0 ) return __( 'Sold Out', 'woocommerce' ); } else { return __( 'Add to cart ', 'woocommerce' ); […]
Ранее я использовал описанное здесь решение: remove_action Из класса PHP для удаления действия в плагине членства WooCommerce. Однако решение больше не работает, так как WooComemerce изменили код, лежащий в основе плагина членства. Итак, это новый код. Главная woocommerce-memberships.php public function includes() { // load post types require_once( $this->get_plugin_path() . '/includes/class-wc-memberships-post-types.php' ); // load user messages […]
Я создаю сайт со многими разными категориями и должен просто удалить заголовки категорий только на одной странице архива: http://redyearclients.co.uk/PandF/product-category/exterior-paving/paving-brands/ Я обнаружил методы удаления заголовка со всех страниц, но мне нужны все другие страницы категорий, требующие названия, эта страница, например, должна оставаться такой, какой она выглядит сейчас: http://redyearclients.co.uk/PandF/product-category/exterior-paving/ Любая помощь массово ценится.
Я пытаюсь удалить действие и добавить его с другим приоритетом. Ниже приведены все фрагменты кода, которые помогают генерировать сообщение: Включить необходимые файлы интерфейса private function frontend_includes() { require_once( $this->get_plugin_path() . '/includes/wc-memberships-template-functions.php' ); require_once( $this->get_plugin_path() . '/includes/class-wc-memberships-shortcodes.php' ); WC_Memberships_Shortcodes::initialize(); $this->frontend = $this->load_class( '/includes/frontend/class-wc-memberships-frontend.php', 'WC_Memberships_Frontend' ); $this->checkout = $this->load_class( '/includes/frontend/class-wc-memberships-checkout.php', 'WC_Memberships_Checkout' ); $this->restrictions = $this->load_class( '/includes/frontend/class-wc-memberships-restrictions.php', 'WC_Memberships_Restrictions' […]
Я привязал функцию к woocommerce_checkout_order_processed hook: //check if woocommerce is acive if (in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins')))) { add_action('woocommerce_checkout_order_processed', 'wc_on_place_order'); } Функция wc_on_place_order должна быть выполнена после нажатия пользователем кнопки PLACE ORDER . Однако, это так странно, что функция выполняется дважды. Моя функция wc_on_place_order вызывает внешний api, написанный на C #: function wc_on_place_order( $order_id ) { global […]
Иногда в WooCommerce клиент должен заполнить название улицы и номер дома в одном поле. В этом случае мы хотим затем проверить поле проверки billing_address_1 WooCommerce, чтобы проверить, содержит ли он цифры перед обработкой заказа. Мы пробовали ряд методов, чтобы сделать это, но без везения. Этот стандартный метод WooCommerce не работает: add_action('woocommerce_checkout_process', 'custom_checkout_field_check'); function custom_checkout_field_check() { […]
В моем настраиваемом плагине (работающем в WooCommerce 2.6.x и 3.x) мне нужно получить идентификатор заказа при создании нового заказа. Я пробовал разные крючки, но они работают только тогда, когда клиент создает заказ, а не когда заказ создается из admin. Я пытался: woocommerce_new_order woocommerce_thankyou woocommerce_checkout_order_processed woocommerce_checkout_update_order_meta Обновить Наконец, я использовал это: add_action('wp_insert_post', function($order_id) { if(!did_action('woocommerce_checkout_order_processed') && […]