Intereting Posts
Есть ли способ массового обновления полей пользователя? Пост-почта, похожая на WordPress.com или Posterous? Пользовательский запрос для получения имен сообщений, начинающихся с цифры Использование WP, а не .htaccess для перенаправления страниц / сообщений Вопрос с .htaccess и wp-login.php авторский глобальный формат отображения Блокировщик панели мониторинга для многопользовательской сети для определенных пользовательских ролей Как предотвратить автоматическое преобразование тире в & ndash; Получить предыдущие и следующие сообщения по идентификатору сообщения Как перенаправить посетителя на собственный URL-адрес с помощью PHP-кода в functions.php Создание эскизов страниц в разных размерах Синхронизировать мои репозитории svn Какое действие / фильтр / функция определяет «текущий» класс в меню WP Admin Почему в администраторе нет моей зарегистрированной боковой панели? зачем нужна тема, если в построителе страниц есть wordpress

Сообщение Woocommerce «добавлено в корзину» на главной (домашней странице)

В настоящее время я делаю электронный магазин по woocommerce. На моей домашней странице есть продукт слайдера с кнопкой «добавить в корзину» под каждым продуктом. Если я нажму кнопку, продукт будет добавлен в корзину успешно, но без какого-либо сообщения.

Во время просмотра в Интернете я узнал, что сообщения можно добавлять на странице магазина, странице категории продукта и странице тегов продукта ( в этой статье ). В соответствии с этой статьей я должен использовать фильтр / крюк, чтобы поймать событие «добавить к тележке» и отобразить сообщение на главной странице.

Я пробовал это:

add_filter( 'woocommerce_add_to_cart_message', 'custom_add_to_cart_message' ); function custom_add_to_cart_message() { global $woocommerce; // Output success messages if (get_option('woocommerce_cart_redirect_after_add')=='yes') : $return_to = get_permalink(woocommerce_get_page_id('shop')); $message = sprintf('<a href="%s" class="button">%s</a> %s', $return_to, __('Continue Shopping &rarr;', 'woocommerce'), __('Product successfully added to your cart.', 'woocommerce') ); else : $message = sprintf('<a href="%s" class="button">%s</a> %s', get_permalink(woocommerce_get_page_id('cart')), __('View Cart &rarr;', 'woocommerce'), __('Product successfully added to your cart.', 'woocommerce') ); endif; return $message; } 

но ничего не происходит. Может кто-нибудь мне помочь?

Решение было таким же простым, как и должно быть: я только что добавил этот фрагмент кода в свой основной файл .php:

 do_action( 'woocommerce_before_single_product' ); 

Эта статья поможет вам в этой проблеме https://docs.woocommerce.com/document/woocommerce-cart-notices/

Или вы можете поставить ниже код в functions.php, чтобы получить сообщение об успешном завершении

 add_filter( 'woocommerce_add_to_cart_message', 'custom_add_to_cart_message' ); function custom_add_to_cart_message() { global $woocommerce; // Output success messages if (get_option('woocommerce_cart_redirect_after_add')=='yes') : $return_to = get_permalink(woocommerce_get_page_id('shop')); $message = sprintf('<a href="%s" class="button">%s</a> %s', $return_to, __('Continue Shopping &rarr;', 'woocommerce'), __('Product successfully added to your cart.', 'woocommerce') ); else : $message = sprintf('<a href="%s" class="button">%s</a> %s', get_permalink(woocommerce_get_page_id('cart')), __('View Cart &rarr;', 'woocommerce'), __('Product successfully added to your cart.', 'woocommerce') ); endif; return $message; } function your_woo_ajax_solution( $translation, $text, $domain ) { if ( $domain == 'woocommerce' ) { // your domain name if ( $text == 'View Cart' ) { // current text that shows $translation = 'Product successfully added to your cart.'; // The text that you would like to show } } return $translation; } add_filter( 'gettext', 'your_woo_ajax_solution', 10, 3 ); 

Скопируйте этот код и вставьте его в свою page.php или singlepage.php

 do_action('woocommerce_before_single_product');