Я пытаюсь добавить цену в кнопку добавления в корзину в цикле.
[100 $ Добавить в корзину] вместо [Добавить в корзину]
add_to_cart.php шаблон:
echo apply_filters( 'woocommerce_loop_add_to_cart_link', sprintf( '<a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" class="tiny button %s product_type_%s">%s</a>', esc_url( $product->add_to_cart_url() ), esc_attr( $product->id ), esc_attr( $product->get_sku() ), $product->is_purchasable() && $product->is_in_stock() ? 'add_to_cart_button' : '', esc_attr( $product->product_type ), esc_html( $product->add_to_cart_text() ) ), $product );
шаблон price.php:
<?php if ( $price_html = $product->get_price_html() ) : ?> <span class="price"><?php echo $price_html; ?></span> <?php endif; ?>
Как мне объединить эти два? Не удалось найти что-либо в Интернете.
Это должно работать: измените файл add_to_cart.php на
echo apply_filters( 'woocommerce_loop_add_to_cart_link', sprintf( '<a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" class="button %s product_type_%s">%s %s</a>', esc_url( $product->add_to_cart_url() ), esc_attr( $product->id ), esc_attr( $product->get_sku() ), $product->is_purchasable() ? 'add_to_cart_button' : '', esc_attr( $product->product_type ), $product->get_price_html(), esc_html( $product->add_to_cart_text() ) ), $product );
и цена будет отображаться перед текстом «Добавить в корзину».
EDIT: вы должны заметить, что обновление плагина woocommerce отменяет это и любые другие изменения, внесенные вами в любой из файлов.
WooCommerce 3.1.0 обновил функцию для кнопки «Добавить в корзину»
apply_filters( 'woocommerce_loop_add_to_cart_link', sprintf( '<li><a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" class="btn-filled cart add-to-cart %s product_type_%s"><i class="fa fa-shopping-cart" ></i></a></li>', esc_url( $product->add_to_cart_url() ), esc_attr( isset( $quantity ) ? $quantity : 1 ), esc_attr( $product->get_id() ), esc_attr( $product->get_sku() ), esc_attr( isset( $class ) ? $class : 'button' ), esc_html( $product->add_to_cart_text() ) ), $product );