1
私は、ライン6の<?php echo $product->id; ?>
を使用して、woocommerce内の製品のIDを解析して返そうとしていますが、機能内の構文を理解する上で問題があります。HTML内のPHP構文 - カートに入れるボタン
add_filter('woocommerce_loop_add_to_cart_link', 'quantity_inputs_for_woocommerce_loop_add_to_cart_link', 10, 2);
function quantity_inputs_for_woocommerce_loop_add_to_cart_link($html, $product) {
if ($product && $product->is_type('simple') && $product->is_purchasable() && $product->is_in_stock() && ! $product->is_sold_individually()) {
$html = '<form action="' . esc_url($product->add_to_cart_url()) . '" class="cart" method="post" enctype="multipart/form-data">';
$html .= woocommerce_quantity_input(array(), $product, false);
$html .= '<button type="submit" data-quantity="1" data-product_id="<?php echo $product->id; ?>" class="button alt ajax_add_to_cart add_to_cart_button product_type_simple qodef-btn qodef-btn-outline">Add</button>';
$html .= '</form>';
}
return $html;
}
これは残念ながら、単に出力htmlとしてdata-product_id="<?php echo $product->id; ?>"
を出してくれる。 AJAXがカートに追加するプロセスを処理できるように、製品IDを返すことができます。
私は実際に取り組んでいることに取り組んでいます。
ありがとうございました。
EDIT - 誰でも機能とJSが次に追加する量ボタン(マイナス、入力、プラスを追加したいオフのチャンスでkrlv
への最終解決
感謝カートボタン)を、woocommerceのプロダクトギャラリー(アーカイブ)の商品に追加します。あなたはecho
プロダクトIDを必要としないのfunctions.php
add_filter('woocommerce_loop_add_to_cart_link',
'quantity_inputs_for_woocommerce_loop_add_to_cart_link', 10, 2);
function quantity_inputs_for_woocommerce_loop_add_to_cart_link($html, $product) {
if ($product && $product->is_type('simple') && $product->is_purchasable() && $product->is_in_stock() && ! $product->is_sold_individually()) {
$html = '<form action="' . esc_url($product->add_to_cart_url()) . '" class="cart" method="post" enctype="multipart/form-data">';
$html .= woocommerce_quantity_input(array(), $product, false);
$html .= '<button type="submit" data-quantity="1" data-product_id="' . $product->id . '" class="button alt ajax_add_to_cart add_to_cart_button product_type_simple Add_Your_Style_Classes_Here">Add</button>';
$html .= '</form>';
}
return $html;
}
ため
PHP JS
jQuery(function($) {
$("form.cart").on("change", "input.qty", function() {
$(this.form).find("button[data-quantity]").data("quantity", this.value);
});
$(document.body).on("adding_to_cart", function() {
$("a.added_to_cart").remove();
});
});
優秀!ありがとうございました。エコーがhtmlの解析されたPHPの中に何もないと思うのは正しいのですか?それは何ですか? $ product-> id。追加していますか? –
@JasonKingあなたは絶対に正しいです – krlv
Ahh連結!あなたの助けをもう一度ありがとう。ドキュメントを読んでPHPを学ぶことに戻る。 –