我的WordPress第25部分最佳WooCommerce代码片段

  1. 1个. 我的25个WordPress最佳WooCommerce代码片段
  2. 2. 当前阅读: 我的WordPress第25部分最佳WooCommerce代码片段

几天前,我写了一篇文章,其中列出了我使用的25个最有用的WooCommerce代码片段,您是很多人想要的,所以今天我决定提供更多代码片段 WooCommerce! 开始了!


1 –替换WooCommerce默认的PayPal徽标

/ *
*替换WooCommerce默认的贝宝图标
* /
函数paypal_checkout_icon(){
返回'https://www.paypalobjects.com/webstatic/mktg/logo-center/logo_betalen_met_paypal_nl.jpg'; //在此处写下您自己的图片网址
}
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 = $ uploads。 '/2012/07/thumb1.jpg';

返回$ src;
}
}

3 –从面包屑中删除“产品”

/ *
*在WooCommerce面包屑中隐藏“产品”
* /
函数woo_custom_filter_breadcrumbs_trail($ trail){
foreach($ trail as $ k => $ v){
if(strtolower(strip_tags($ v))=='产品'){
unset($ trail [$ k]);
打破;
}
}

返回$ trail;
}

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

4 –空车

/ *
*空的WooCommerce购物车
* /
函数my_empty_cart(){
全球$ woocommerce;
$ woocommerce->购物车-> empty_cart();
}
add_action('init','my_empty_cart');

5 –参观时自动将产品添加到购物车

/ *
*访问时将商品添加到购物车
* /
函数add_product_to_cart(){
如果(!is_admin()){
全球$ woocommerce;
$ product_id = 64;
$ found = false;
//检查产品是否已经在购物车中
如果(sizeof($ woocommerce-> cart-> get_cart())> 0){
foreach($ woocommerce-> cart-> get_cart()as $ cart_item_key => $ values){
$ _product = $ values ['data'];
如果($ _product-> id == $ product_id)
$ found = true;
}
//如果找不到产品,请将其添加
如果(!$ found)
$ woocommerce->购物车-> add_to_cart($ product_id);
}其他{
//如果购物车中没有产品,请将其添加
$ woocommerce->购物车-> add_to_cart($ product_id);
}
}
}
add_action('init','add_product_to_cart');

6 –添加自定义货币/符号

add_filter('woocommerce_currencies','add_my_currency');

函数add_my_currency($ currencies){
$ currencies ['ABC'] = __('货币名称','woocommerce');
返回$ currencies;
}

add_filter('woocommerce_currency_symbol','add_my_currency_symbol',10,2);

函数add_my_currency_symbol($ currency_symbol,$ currency){
开关($ currency){
案例'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(){
返回__('我的按钮文字','woocommerce');
}
add_filter('add_to_cart_text','woo_archive_custom_cart_button_text');

8 –重定向订阅添加到购物车到结帐页面

/ **
*重定向订阅添加到购物车到结帐页面
*
* @参数字符串$ url
* /
函数custom_add_to_cart_redirect($ url){

$ product_id =(int)$ _REQUEST ['add-to-cart'];
如果(class_exists('WC_Subscriptions_Product')){
如果(WC_Subscriptions_Product :: is_subscription($ product_id)){
返回get_permalink(get_option('woocommerce_checkout_page_id'));
}否则返回$ url;
}否则返回$ url;

}
add_filter('add_to_cart_redirect','custom_add_to_cart_redirect');

此代码段需要订阅插件.

9 –添加到购物车后重定向到结帐页面

/ **
*重定向订阅添加到购物车到结帐页面
*
* @参数无
* /
函数add_to_cart_checkout_redirect(){
wp_safe_redirect(get_permalink(get_option('woocommerce_checkout_page_id')));
死();
}
add_action('woocommerce_add_to_cart','add_to_cart_checkout_redirect',11);

10 – CC所有电子邮件

 / **
* WooCommerce额外功能
* --------------------------
*
*将另一个电子邮件收件人添加到所有WooCommerce电子邮件中
*
* /
函数woo_cc_all_emails(){
返回“密件抄送:[email protected]”。 “ \ r \ n”;
}
add_filter('woocommerce_email_headers','woo_cc_all_emails');

11 –当使用优惠券完成新订单时,发送电子邮件

/ **
* WooCommerce额外功能
* --------------------------
*
*每次带优惠券的订单发送电子邮件
*电子邮件包含结帐过程中使用的优惠券
*
* /
函数woo_email_order_coupons($ order_id){
$ order =新的WC_Order($ order_id);

if($ order-> get_used_coupons()){

$ to ='[email protected]';
$ subject ='新订单已完成';
$ headers ='来自:我的名字'。 “ \ r \ n”;

$ message ='新订单已完成。\ n';
$ message。='订单ID:'。$ order_id。'\ n';
$ message。='使用的优惠券:\ n';

foreach($ order-> get_used_coupons()as $ coupon){
$ message。= $ coupon。'\ 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'=> $ related,
'post__not_in'=>数组($ product-> id)
);
返回$ args;
}
add_filter('woocommerce_related_products_args','woo_related_products_limit');

13 –在商店页面上排除特定类别的产品

 / **
*按类别从商店页面删除产品
*
* /
函数woo_custom_pre_get_posts_query($ q){

如果(!$ q-> is_main_query())返回;
如果(!$ q-> is_post_type_archive())返回;

如果(!is_admin()&& is_shop()){

$ q-> set('tax_query',array(array(
'分类法'=>'product_cat',
'字段'=>'子弹',
'terms'=> array('shoes'),//不要在商店页面上的鞋子类别中显示产品
'运算符'=>'禁止输入'
)));

}

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;

//默认值也用于类别和sub_categories
$ columns = 4;

// 产品列表
如果(is_product_category()):
$ columns = 4;
万一;

//相关产品
如果(is_product()):
$ columns = 2;
万一;

//交叉销售
如果(is_checkout()):
$ columns = 4;
万一;

返回$ columns;
}
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面包屑
*
* /
remove_action('woocommerce_before_main_content','woocommerce_breadcrumb',20);

17 –限制运送国家/地区清单

/ **
* WooCommerce额外功能
* --------------------------
*
*限制运输国家列表
*
* /
函数woo_override_checkout_fields($ fields){

$ fields ['shipping'] ['shipping_country'] = array(
'类型'=>'选择',
'标签'=> __('我的新国家列表','woocommerce'),
'选项'=>数组('AU'=>'澳大利亚')
);

返回$ 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);

/ **
*免费送货时隐藏所有送货选项
*
* @参数数组$ 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 [] = $ freeshipping;

万一;

返回$ 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'; //类型:固定购物车,百分比,固定产品,百分比产品

$ coupon = array(
'post_title'=> $优惠券代码,
'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','no');
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,'expiry_date','');
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_procesing_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;

如果(is_cart()){
$ woocommerce->购物车-> 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;

//输出成功消息
如果(get_option('woocommerce_cart_redirect_after_add')=='yes'):

$ 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')));

万一;

返回$ 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){
如果($ is_admin_email){
回声

付款方法: '。 $ order-> payment_method_title。 '

'; } }

和繁荣!而已!希望您会喜欢这些摘要。如有任何建议,请在下面发表评论!


还没有准备好WooCommerce的主题,还是想要一个新主题?确保检查我们的WordPress总主题!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map