Я пытаюсь заменить кнопку добавления в корзину архива продуктов woocommerce по умолчанию в зависимости от условия.
Например
Продукт A - Флажок активен -> Показать кнопку "Найти дилера" Продукт Б - Флажок неактивен -> Отображать кнопку добавления в корзину по умолчанию
Мне удалось успешно написать код для добавления флажка и условия для замены кнопки, если для продукта активен настраиваемый флажок. Кнопка для продукта А работает нормально и диапляется как положено в архивах магазина.
Однако я не уверен, как сохранить кнопку добавления в корзину по умолчанию woocommerce, если для продуктов, у которых нет этого флажка, активирован. Я думал, что добавление действия сработает, но я в тупике. Любая помощь будет принята с благодарностью. Заранее спасибо.
add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_default_button' );
function replace_default_button(){
global $product;
if ($product->get_meta('_checkbox_active') === 'yes' ){
return '<button>Finda Dealer</button>';}
else {add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );}
$button = '<a href="#" class="button alt">' . __( "Find a dealer", "woocommerce" ) . '</a>';
. Хотя это действительно работает, с ним все еще отображаются кнопки «Добавить в корзину» и «Найти дилера». Мне удалось использовать немного грязного хака, чтобы исправить это, сохранив удаление класса. Есть ли способ сделать это лучше? Я обновил основную информацию. 06.06.2019