چطوری میشه

25 بهترین قطعه ووکامرس من برای وردپرس قسمت 2

25 بهترین قطعه ووکامرس من برای وردپرس قسمت 2

چند روز پیش پستی نوشتم که در آن 25 مورد از مفیدترین قطعه های WooCommerce که من استفاده می کنم و شما افراد زیادی بودید که درخواست بیشتری داشتید، بنابراین امروز تصمیم گرفتم چند قطعه دیگر را برای < ارائه دهم a title="افزونه تجارت الکترونیک رایگان WooCommerce" href="https://woocommerce.com" target="_blank" rel="noopener">ووکامرس! به اینجا رسیدیم!

1 – جایگزین لوگوی پیش‌فرض PayPal WooCommerce

شوید

/*
 * نماد پی پال پیش فرض WooCommerce را جایگزین کنید
 */
تابع paypal_checkout_icon() {
 بازگشت 'https://www.paypalobjects.com/webstatic/mktg/logo-center/logo_betalen_met_paypal_nl.jpg'؛ // URL تصویر خود را در اینجا بنویسید
}
add_filter('woocommerce_paypal_icon', 'paypal_checkout_icon' );

2 – جایگزین تصویر پیش‌فرض مکان‌نمای محصول

/*
* می رود در تم functions.php یا یک پلاگین سفارشی. نام/مسیر فایل تصویری را با نام خود جایگزین کنید 🙂
*
**/
add_action('init', 'custom_fix_thumbnail');
 
تابع custom_fix_thumbnail() {
  add_filter('woocommerce_placeholder_img_src', 'custom_woocommerce_placeholder_img_src');
   
	تابع custom_woocommerce_placeholder_img_src($src) {
	$upload_dir = wp_upload_dir();
	$uploads = untrailingslashit( $upload_dir['baseurl'] );
	$src = آپلودهای $. '/2012/07/thumb1.jpg';
	 
	بازگشت $src;
	}
}

3 – “محصولات” را از پودر سوخاری حذف کنید

/*
 * مخفی کردن "محصولات" در WooCommerce breadcrumb
 */
تابع woo_custom_filter_breadcrumbs_trail ($trail) {
  foreach ( $trail به عنوان $k => $v ) {
    if ( strtolower( strip_tags( $v ) ) == 'محصولات' ) {
      unset( $trail[$k] );
      زنگ تفريح؛
    }
  }

  بازگشت $trail;
}

add_filter('woo_breadcrumbs_trail', 'woo_custom_filter_breadcrumbs_trail', 10);

4 – سبد خرید خالی

/*
 * خالی سبد ووکامرس
 */
تابع my_empty_cart(){
	جهانی $woocommerce;
	$woocommerce->cart->empty_cart(); 
}
add_action('init', 'my_empty_cart');

5 – هنگام بازدید، محصول را به صورت خودکار به سبد خرید اضافه کنید

/*
 * در هنگام بازدید کالا را به سبد خرید اضافه کنید
 */
تابع add_product_to_cart() {
	if (! is_admin()) {
		جهانی $woocommerce;
		$product_id = 64;
		$found = false;
		//بررسی کنید که آیا محصول از قبل در سبد خرید است
		if ( sizeof( $woocommerce->cart->get_cart() ) > 0 ) {
			foreach ($woocommerce->cart->get_cart() به عنوان $cart_item_key => $values ​​) {
				$_product = $values['داده'];
				اگر ($_product->id == $product_id)
					$found = true;
			}
			// اگر محصول یافت نشد، آن را اضافه کنید
			اگر ( ! $found )
				$woocommerce->cart->add_to_cart( $product_id );
		}دیگر {
			// اگر محصولی در سبد خرید وجود ندارد، آن را اضافه کنید
			$woocommerce->cart->add_to_cart( $product_id );
		}
	}
}
add_action('init', 'add_product_to_cart' );

6 – یک ارز / نماد سفارشی اضافه کنید

add_filter( 'woocommerce_currencies', 'add_my_currency' );
 
تابع add_my_currency ($currency ) {
     $currency['ABC'] = __( 'نام ارز', 'woocommerce' );
     بازگشت $ارز;
}
 
add_filter('symbol_currency_woocommerce', 'add_my_currency_symbol', 10, 2);
 
تابع add_my_currency_symbol($currency_symbol, $currency ) {
     سوئیچ ($currency ) {
          case 'ABC': $currency_symbol = '$'; زنگ تفريح؛
     }
     بازگشت $currency_symbol;
}

7 – متن دکمه افزودن به سبد خرید را تغییر دهید

/**
 * متن افزودن به سبد خرید را در صفحات تک محصول تغییر دهید
 */
تابع woo_custom_cart_button_text() {
	بازگشت __('My Button Text', 'woocommerce');
}
add_filter('single_add_to_cart_text', 'woo_custom_cart_button_text');



/**
 * متن افزودن به سبد خرید را در آرشیو محصولات تغییر دهید
 */
تابع woo_archive_custom_cart_button_text() {
	return __( 'My Button Text', 'woocommerce');
}
add_filter('add_to_cart_text', 'woo_archive_custom_cart_button_text');

8 – تغییر جهت اشتراک افزودن به سبد خرید به صفحه پرداخت

/**
 * تغییر مسیر اشتراک اضافه به سبد خرید به صفحه پرداخت
 *
 * @param string $url
 */
تابع custom_add_to_cart_redirect($url) {
  
  $product_id = (int) $_REQUEST['add-to-cart'];
	if ( class_exists( 'WC_Subscriptions_Product' ) ) {
		if ( WC_Subscriptions_Product::is_subscription( $product_id ) ) {
			بازگشت get_permalink(get_option('woocommerce_checkout_page_id') );
		} else return $url;
	} else return $url;
	
}
add_filter('add_to_cart_redirect', 'custom_add_to_cart_redirect');

این قطعه به افزونه اشتراک‌ها نیاز دارد.

9 – پس از افزودن به سبد خرید به صفحه تسویه حساب هدایت شوید

/**
 * تغییر مسیر اشتراک اضافه به سبد خرید به صفحه پرداخت
 *
 * @param هیچ
 */
تابع add_to_cart_checkout_redirect() {
	wp_safe_redirect( get_permalink( get_option( 'woocommerce_checkout_page_id' ) ) );
	die();
}
add_action('woocommerce_add_to_cart', 'add_to_cart_checkout_redirect', 11);

10 – CC همه ایمیل‌ها

 /**
 * ویژگی اضافی WooCommerce
 * --------------------------
 *
 * یک گیرنده ایمیل دیگر را به تمام ایمیل های WooCommerce اضافه کنید
 *
 */
تابع woo_cc_all_emails() {
  'مخفی مخفی: youremail@yourdomain.com' را برگردانید. "rn"؛
}
add_filter('woocommerce_email_headers', 'woo_cc_all_emails' );

11 – وقتی سفارش جدیدی با کوپن های استفاده شده تکمیل شد، ایمیل ارسال کنید

/**
 * ویژگی اضافی WooCommerce
 * --------------------------
 *
 * هر بار که سفارش با کوپن (ها) تکمیل شد، یک ایمیل ارسال کنید
 * ایمیل حاوی کوپن (های) استفاده شده در فرآیند پرداخت است
 *
 */ 
تابع woo_email_order_coupons($order_id) {
        $order = new WC_Order( $order_id );
        
        if($order->get_used_coupons() ) {
        
          $to = 'youremail@yourcompany.com';
	        $subject = 'سفارش جدید تکمیل شد';
	        $headers = 'از: نام من' . "rn"؛
	        
	        $message = 'سفارش جدید تکمیل شد.n';
	        $message .= 'شناسه سفارش: '.$order_id.'n';
	        $message .= 'کوپن های استفاده شده:n';
	        
	        foreach($order->get_used_coupons() as $coupon) {
		        $message .= $کوپن.'n';
	        }
	        @wp_mail($to، $subject، $message، $headers );
        }
}
add_action('woocommerce_thankyou', 'woo_email_order_coupons' );

12 – تغییر شماره محصولات مرتبط

/**
 * ویژگی اضافی WooCommerce
 * --------------------------
 *
 * تعداد محصولات مرتبط را در صفحه محصول تغییر دهید
 * مقدار خود را برای "posts_per_page" تنظیم کنید
 *
 */ 
تابع woo_related_products_limit() {
  محصول جهانی $;
	
	$args = آرایه(
		'post_type' => 'محصول'،
		'no_found_rows' => 1،
		'posts_per_page' => 6،
		'ignore_sticky_posts' => 1،
		'orderby' => $orderby،
		'post__in' => مربوط به $،
		'post__not_in' => آرایه ($product->id)
	)
	بازگشت $args;
}
add_filter('woocommerce_related_products_args', 'woo_related_products_limit' );

13 – محصولات را از یک دسته خاص در صفحه فروشگاه حذف کنید

 /**
 * محصولات را بر اساس دسته بندی از صفحه فروشگاه حذف کنید
 *
 */
تابع woo_custom_pre_get_posts_query($q) {
 
	if ( ! $q->is_main_query() ) return;
	if ( ! $q->is_post_type_archive() ) return;
	
	if (! is_admin() && is_shop() ) {
 
		$q->set('tax_query', array(array(
			'taxonomy' => 'product_cat',
			'field' => 'slug',
			'terms' => array( 'shoes'), // محصولات در دسته کفش در صفحه فروشگاه نمایش داده نشود
			'operator' => 'در داخل نیست'
		))))
	
	}
 
	remove_action('pre_get_posts', 'custom_pre_get_posts_query' );
 
}
add_action('pre_get_posts', 'woo_custom_pre_get_posts_query' );

14 – تغییر شماره ستون‌های فروشگاه

/**
 * ویژگی اضافی WooCommerce
 * --------------------------
 *
 * تغییر شماره ستون محصول در صفحات فروشگاه
 *
 */
تابع woo_product_columns_frontend() {
    جهانی $woocommerce;

    // مقدار پیش فرض نیز برای دسته ها و زیر دسته ها استفاده می شود
    $ ستون = 4;

    // لیست محصولات
    if ( is_product_category() ):
        ستون $ = 4;
    endif;

    //محصولات مرتبط
    if (is_product()):
        $ ستون = 2;
    endif;

    //کراس می فروشد
    if ( is_checkout() ):
        ستون $ = 4;
    endif;

	ستون $ را برگرداند.
}
add_filter('loop_shop_columns', 'woo_product_columns_frontend');

15 – برگه‌های WooCommerce را غیرفعال کنید

 /**
 * برگه های محصول را حذف کنید
 *
 */
تابع woo_remove_product_tab ($tabs) {

    unset( $tabs['description'] );      		// تب توضیحات را حذف کنید
    unset( $tabs['reviews'] ); 					// برگه نظرات را حذف کنید
    unset( $tabs['additional_information'] );  	// برگه اطلاعات اضافی را حذف کنید

 	بازگشت $tabs;
 
}
add_filter('woocommerce_product_tabs', 'woo_remove_product_tab', 98);

16 – خرد نان را بردارید

 /**
 * WooCommerce BreadCrumb را حذف کنید
 *
 */
remove_action('woocommerce_before_main_content', 'woocommerce_breadcrumb', 20);

17 – محدود کردن فهرست کشورهای حمل‌ونقل

/**
 * ویژگی اضافی WooCommerce
 * --------------------------
 *
 * فهرست کشورهای حمل و نقل را محدود کنید
 *
 */
تابع woo_override_checkout_fields($fields) { 

	$fields['shipping']['shipping_country'] = آرایه(
		'type' => 'انتخاب',
		'label' => __('فهرست جدید کشور من'، 'woocommerce')،
		'Options' => Array('AU' => 'Australia')
	)

	بازگشت $fields; 
} 
add_filter( 'woocommerce_checkout_fields' , 'woo_override_checkout_fields' );

18 – جایگزین «رایگان!» رشته محصول

/**
 * ویژگی اضافی WooCommerce
 * --------------------------
 *
 * جایگزین "رایگان!" توسط یک رشته سفارشی
 *
 */
تابع woo_my_custom_free_message() {
	بازگشت "این محصول رایگان است!"؛
}

add_filter('woocommerce_free_price_html', 'woo_my_custom_free_message');

19 – وقتی ارسال رایگان موجود است، همه روش‌های ارسال دیگر را پنهان کنید

// پنهان کردن همه گزینه های حمل و نقل در صورت وجود ارسال رایگان
add_filter('woocommerce_available_shipping_methods', 'hide_all_shipping_when_free_is_available' , 10, 1 );
 
/**
* وقتی ارسال رایگان در دسترس است گزینه ALL Shipping را مخفی کنید
*
* آرایه @param $available_methods
*/
تابع hide_all_shipping_when_free_is_available($available_methods) {
 
  	if( isset( $available_methods['free_shipping'] ) :
		
		// آرایه ارسال رایگان را در یک آرایه جدید دریافت کنید
		$freeshipping = array();
		$freeshipping = $available_methods['free_shipping'];
 
		// آرایه $available_methods را خالی کنید
		unset( $available_methods );
 
		// ارسال رایگان را دوباره به $avaialble_methods اضافه کنید
		$available_methods = array();
		$available_methods[] = $ ارسال رایگان.
 
	endif;
 
	$available_methods را برگردانید.
}

20 – فیلد “وضعیت” تسویه حساب را الزامی نکنید

/**
 * ویژگی اضافی WooCommerce
 * --------------------------
 *
 * فیلد "وضعیت" را در پرداخت لازم نیست
 *
 */
 
add_filter('woocommerce_billing_fields', 'woo_filter_state_billing', 10, 1 );
add_filter('woocommerce_shipping_fields', 'woo_filter_state_shipping', 10, 1 );

تابع woo_filter_state_billing($address_fields) { 
	$address_fields['billing_state']['required'] = نادرست;
	بازگشت $address_fields.
}

تابع woo_filter_state_shipping($address_fields) { 
	$address_fields['shipping_state']['required'] = false;
	بازگشت $address_fields.
}

21 – به صورت برنامه‌ریزی یک کوپن ایجاد کنید

$coupon_code = 'UNIQUECODE'; // کد
$amount = '10'; // میزان
$discount_type = 'fixed_cart'; // نوع: fixed_cart، درصد، fixed_product، درصد_product
					
$کوپن = آرایه(
	'post_title' => $coupon_code،
	'post_content' => ''،
	'post_status' => 'انتشار'،
	'post_author' => 1،
	'post_type' => 'shop_coupon'
)
					
$new_coupon_id = wp_insert_post( $coupon );
					
// اضافه کردن متا
update_post_meta( $new_coupon_id, 'discount_type', $discount_type );
update_post_meta($new_coupon_id, 'coupon_amount', $amount );
update_post_meta( $new_coupon_id، 'individual_use'، 'نه');
update_post_meta( $new_coupon_id, 'product_ids', ' );
update_post_meta($new_coupon_id, 'exclude_product_ids', '' );
update_post_meta($new_coupon_id, 'usage_limit', '' );
update_post_meta($new_coupon_id، 'تاریخ_انقضا'، '' );
update_post_meta($new_coupon_id، 'apply_before_tax', 'yes' );
update_post_meta($new_coupon_id, 'free_shipping', 'no' );

22 – خطوط موضوع ایمیل را تغییر دهید

/*
 * فیلترهای موضوعی: 
 * woocommerce_email_subject_new_order
 * woocommerce_email_subject_customer_processing_order
 * woocommerce_email_subject_customer_completed_order
 * woocommerce_email_subject_customer_invoice
 * woocommerce_email_subject_customer_note
 * woocommerce_email_subject_low_stock
 * woocommerce_email_subject_no_stock
 * woocommerce_email_subject_backorder
 * woocommerce_email_subject_customer_new_account
 * woocommerce_email_subject_customer_invoice_paid
 **/
add_filter('woocommerce_email_subject_new_order', 'change_admin_email_subject', 1, 2);
 
تابع change_admin_email_subject($subject, $order ) {
	جهانی $woocommerce;
 
	$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
 
	$subject = sprintf( '[%s] سفارش مشتری جدید (# %s) از نام %s %s', $blogname, $order->id, $order->billing_first_name, $order->billing_last_name );
 
	بازگشت $subject;
}

23 – افزودن هزینه سفارشی به سبد خرید

/**
 * ویژگی اضافی WooCommerce
 * --------------------------
 *
 * اضافه کردن هزینه سفارشی به سبد خرید به صورت خودکار
 *
 */
تابع woo_add_cart_fee() {

	جهانی $woocommerce;
	
	if ( is_cart() ) {
		$woocommerce->cart->add_fee( __('Custom', 'woocommerce'), 5 );
	}
	
}
add_action('woocommerce_before_cart_table', 'woo_add_cart_fee' );

24 – پیام سفارشی به سبد خرید اضافه شد

/**
 * سفارشی افزودن به سبد خرید پیام
 * این را به فایل functions.php تم خود اضافه کنید
 **/
add_filter('woocommerce_add_to_cart_message', 'custom_add_to_cart_message' );
تابع custom_add_to_cart_message() {
	جهانی $woocommerce;
 
	// خروجی پیام های موفقیت آمیز
	if (get_option('woocommerce_cart_redirect_after_add')=='بله') :
 
		$return_to = get_permalink(woocommerce_get_page_id('shop'));
 
		$message = sprintf('%s %s', $return_to, __('ادامه خرید →', 'woocommerce'), __('محصول با موفقیت به سبد خرید شما اضافه شد.', 'woocommerce') );
 
	دیگری:
 
		$message = sprintf('%s %s', get_permalink(woocommerce_get_page_id('cart')), __('مشاهده سبد خرید →', 'woocommerce '), __('محصول با موفقیت به سبد خرید شما اضافه شد', 'woocommerce') );
 
	endif;
 
		بازگشت $message;
}

25 – روش پرداخت را به ایمیل سرپرست اضافه کنید

/**
 * ویژگی اضافی WooCommerce
 * --------------------------
 *
 * روش پرداخت را به ادمین ایمیل سفارش جدید اضافه کنید
 *
 */
add_action('woocommerce_email_after_order_table', 'woo_add_payment_method_to_admin_new_order', 15, 2 ); 

تابع woo_add_payment_method_to_admin_new_order($order، $is_admin_email) { 
	if ($is_admin_email ) { 
	echo '

روش پرداخت:' . $order->payment_method_title . '

'; } }

و بوم! خودشه! امیدوارم از این تکه ها خوشتون بیاد اگر پیشنهادی دارید، دریغ نکنید که در زیر نظر بدهید!


تم آماده WooCommerce ندارید یا تم جدیدی می خواهید؟ مطمئن شوید که تم وردپرس کلما را بررسی کنید!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا