هادی خانزاده

چجوری سبد خرید آژاکس رو تو قالبم فعال کنم؟؟

2 پست در این موضوع قرار دارد

با عرض سلام و خسته نباشید

بنده ی قالب فروشگاهی دارم طراحی میکنم الان تو قسمت سبد خریدش گیر کردم . میخوام از حالت آژاکس استفاده کنم که وقتی روی دکمه افزودن به سبد خرید کلیک میشه تعداد و ارقام سبد خرید به صورت خودکار و بدون رفرش صفحه آپدیت شن . در ضمن مثال های زیادی رو دیدم و انجام دادام ولی مقادیر رو کلا نشون نمیده. نمونه کد استفاده شده :

if ( ! function_exists( 'new_cart_link_fragment' ) ) {
	/**
	 * Cart Fragments
	 * Ensure cart contents update when products are added to the cart via AJAX
	 *
	 * @param  array $fragments Fragments to refresh via AJAX.
	 * @return array            Fragments to refresh via AJAX
	 */
	function new_cart_link_fragment( $fragments ) {
		global $woocommerce;

		ob_start();
		new_cart_link();
		$fragments['a.cart-contents'] = ob_get_clean();

		ob_start();
		new_handheld_footer_bar_cart_link();
		$fragments['a.footer-cart-contents'] = ob_get_clean();

		return $fragments;
	}
}

if ( ! function_exists( 'new_cart_link' ) ) {
	/**
	 * Cart Link
	 * Displayed a link to the cart including the number of items present and the cart total
	 *
	 * @return void
	 * @since  1.0.0
	 */
	function new_cart_link() {
		?>
			<a class="cart-contents" href="<?php echo esc_url( WC()->cart->get_cart_url() ); ?>" title="<?php esc_attr_e( 'View your shopping cart', 'new' ); ?>">
				<span class="amount"><?php echo wp_kses_data( WC()->cart->get_cart_subtotal() ); ?></span> <span class="count"><?php echo wp_kses_data( sprintf( _n( '%d item', '%d items', WC()->cart->get_cart_contents_count(), 'new' ), WC()->cart->get_cart_contents_count() ) );?></span>
			</a>
		<?php
	}
}

if ( ! function_exists( 'new_header_cart' ) ) {
	/**
	 * Display Header Cart
	 *
	 * @since  1.0.0
	 * @uses  is_woocommerce_activated() check if WooCommerce is activated
	 * @return void
	 */
	function new_header_cart() {
		if ( is_woocommerce_activated() ) {
			if ( is_cart() ) {
				$class = 'current-menu-item';
			} else {
				$class = '';
			}
		?>
		<ul class="site-header-cart menu">
			<li class="<?php echo esc_attr( $class ); ?>">
				<?php new_cart_link(); ?>
			</li>
			<li>
				<?php the_widget( 'WC_Widget_Cart', 'title=' ); ?>
			</li>
		</ul>
		<?php
		}
	}
}

 

ممنون میشم راهنماییم کنید خیلی ضروریه.

با تشکر فراوان.

 

0

به اشتراک گذاری این پست


لینک به پست

درود ،

کدهای مربوط به فایل add-to-cart.php :

<?php
/**
 * Custom Loop Add to Cart.
 *
 * Template with quantity and ajax.
 */
 
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly.
 
global $product;
?>
 
<?php if ( ! $product->is_in_stock() ) : ?>
 
    <a href="<?php echo apply_filters( 'out_of_stock_add_to_cart_url', get_permalink( $product->id ) ); ?>" class="button"><?php echo apply_filters( 'out_of_stock_add_to_cart_text', __( 'Read More', 'woocommerce' ) ); ?></a>
 
<?php else : ?>
 
    <?php
        $link = array(
            'url'   => '',
            'label' => '',
            'class' => ''
        );
 
        switch ( $product->product_type ) {
            case "variable" :
                $link['url']    = apply_filters( 'variable_add_to_cart_url', get_permalink( $product->id ) );
                $link['label']  = apply_filters( 'variable_add_to_cart_text', __( 'Select options', 'woocommerce' ) );
            break;
            case "grouped" :
                $link['url']    = apply_filters( 'grouped_add_to_cart_url', get_permalink( $product->id ) );
                $link['label']  = apply_filters( 'grouped_add_to_cart_text', __( 'View options', 'woocommerce' ) );
            break;
            case "external" :
                $link['url']    = apply_filters( 'external_add_to_cart_url', get_permalink( $product->id ) );
                $link['label']  = apply_filters( 'external_add_to_cart_text', __( 'Read More', 'woocommerce' ) );
            break;
            default :
                if ( $product->is_purchasable() ) {
                    $link['url']    = apply_filters( 'add_to_cart_url', esc_url( $product->add_to_cart_url() ) );
                    $link['label']  = apply_filters( 'add_to_cart_text', __( 'Add to cart', 'woocommerce' ) );
                    $link['class']  = apply_filters( 'add_to_cart_class', 'add_to_cart_button' );
                } else {
                    $link['url']    = apply_filters( 'not_purchasable_url', get_permalink( $product->id ) );
                    $link['label']  = apply_filters( 'not_purchasable_text', __( 'Read More', 'woocommerce' ) );
                }
            break;
        }
 
        // If there is a simple product.
        if ( $product->product_type == 'simple' ) {
            ?>
            <form action="<?php echo esc_url( $product->add_to_cart_url() ); ?>" class="cart" method="post" enctype="multipart/form-data">
                <?php
                    // Displays the quantity box.
                    woocommerce_quantity_input();
 
                    // Display the submit button.
                    echo sprintf( '<button type="submit" data-product_id="%s" data-product_sku="%s" data-quantity="1" class="%s button product_type_simple">%s</button>', esc_attr( $product->id ), esc_attr( $product->get_sku() ), esc_attr( $link['class'] ), esc_html( $link['label'] ) );
                ?>
            </form>
            <?php
        } else {
          echo apply_filters( 'woocommerce_loop_add_to_cart_link', sprintf('<a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" class="%s button product_type_%s">%s</a>', esc_url( $link['url'] ), esc_attr( $product->id ), esc_attr( $product->get_sku() ), esc_attr( $link['class'] ), esc_attr( $product->product_type ), esc_html( $link['label'] ) ), $product, $link );
        }
 
    ?>
 
<?php endif; ?>

کدهای مربوط به فایل functions.php :

function cs_wc_loop_add_to_cart_scripts() {
    if ( is_shop() || is_product_category() || is_product_tag() || is_product() ) : ?>
 
<script>
    jQuery(document).ready(function($) {
        $(document).on( 'change', '.quantity .qty', function() {
            $(this).parent('.quantity').next('.add_to_cart_button').attr('data-quantity', $(this).val());
        });
    });
</script>
 
    <?php endif;
}
 
add_action( 'wp_footer', 'cs_wc_loop_add_to_cart_scripts' );

 

 

1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط 2raj
      سلام و عرض ادب
      دوستان بنده میخوام افزونه سئو: ووکامرس رو فعال کنم که با خطای زیر مواجه میشم لطفا راهنمایی کنید تا مشکل رو برطرف کنم
      به‌دلیل داشتن مشکلی جدیافزونه فعال نشد.
      Fatal error: Cannot redeclare yoast_wpseo_woocommerce_missing_error() (previously declared in /home/niyazero/public_html/wp-content/plugins/wpseo-woocommerce1/wpseo-woocommerce.php:1374) in /home/niyazero/public_html/wp-content/plugins/wpseo-woocommerce/wpseo-woocommerce.php on line 1384
    • توسط A . S
      سلام 
      من تو سایتم محصولاتی رو دارم که با گرویتی فرم و ووکامرس ساخته شده 
      جدیدا مشکلی برام پیش امده که محصولاتی که از گرویتی فرم در انها استفاده کردم کار نمیکنه و پیغام زیر رو میده
      مشکلی با این ارسال پیش آمده است. خطاها در زیر مشخص شده اند .     اما خطاها که مشخص نمیشن ولی وقتی لاگ رو روشن کردم توی فایل لاگ فقط همین چند خط بود : 
       
      2019-01-08 13:24:28.150768 - DEBUG --> GFCommon::post_to_manager(): endpoint: https://www.gravityhelp.com/wp-content/plugins/gravitymanager/version.php?nocache=1 2019-01-08 13:24:29.048392 - DEBUG --> GFCommon::log_remote_response(): code: 200; body: {"is_valid_key":"0","expiration_time":0,"version":"1.7.9","url":"","offerings":[]} 2019-01-08 13:24:30.510854 - DEBUG --> GFCommon::post_to_manager(): endpoint: https://www.gravityhelp.com/wp-content/plugins/gravitymanager/api.php?op=upgrade_message&key= 2019-01-08 13:24:31.281451 - DEBUG --> GFCommon::log_remote_response(): code: 200; body: 2019-01-08 13:24:32.925765 - DEBUG --> WC_GFPA_Cart::add_to_cart_validation(): [woocommerce-gravityforms-product-addons] Processing Add to Cart Validation #6. 2019-01-08 13:24:32.925880 - DEBUG --> GFFormDisplay::process_form(): Starting to process form (#6) submission. 2019-01-08 13:24:32.927537 - DEBUG --> GFFormDisplay::process_form(): Source page number: 1. Target page number: 0. 2019-01-08 13:24:32.929341 - DEBUG --> GFFormDisplay::process_form(): After validation. Is submission valid? No. تمام فرمهای گرویتی که در محصولات ووکامرس استفاده کردم به این صورت هست 
      یکی از محصولات برای اینکه مشاهده کنین : فریم تابلو روان
    • توسط mrkarami937
      سلام فیلد "شهر" در بخش وارد کردن اطلاعات برای پرداخت مشکل داره 
      میزنه ضروری است و اطلاعات رو ثبت نمیکنه
      یعنی بعد از وارد کردن نام شهر میپره
      آدرس سایت: kimialab.com
    • توسط میدیوماه پیامک
      سلام . وقتون بخیر 
      میخوام یک فروشگاه لایسنس و کارت شارژ با ووکامرس ایجاد کنم . کمی تو نت سرچ زدم اما با دیدن افزونه های مختلف کمی در شک و ظن گیر  کردم . ضمن انکه میخوام سیستم این قابلیت را داشته باشه تا برخی از اعضا کسب درامد کنند . 
      یعنی یک سیستم همکاری در فروش هم ایجاد شود . از اساتید محترم تقاضا می کنم افزونه های مورد تایید خود را معرفی کنند . 
       
      با تشکر 
    • توسط amer7417
      سلام دوستان
      متاسفانه مشکل نیامدن صفحه سبد خرید دارم
      از افزونه edd  استفاده میکنم برای فروش فایل
      بعد از این که کلیک میکنم روی سبد
      داخل همون صفحه یک ارور 404 میده
      مشکل چیه؟