1. 1. Meus 25 melhores trechos de WooCommerce para WordPress
  2. 2. Lendo atualmente: Meus 25 melhores trechos de WooCommerce para WordPress Parte 2

Alguns dias atrás, escrevi um post onde listei 25 dos trechos mais úteis do WooCommerce que eu uso e você era muitas pessoas para pedir mais, então hoje eu decidi fornecer mais trechos para WooCommerce! Aqui vamos nós!


1 – Substitua o logotipo padrão do PayPal do WooCommerce

/ *
* Substitua o ícone padrão do PayPal do WooCommerce
* /
função paypal_checkout_icon () {
retornar 'https://www.paypalobjects.com/webstatic/mktg/logo-center/logo_betalen_met_paypal_nl.jpg'; // escreva aqui o seu próprio URL de imagem
}
add_filter ('woocommerce_paypal_icon', 'paypal_checkout_icon');

2 – Substituir imagem de espaço reservado padrão do produto

/ *
* vai para o theme functions.php ou um plugin personalizado. Substitua o nome do arquivo / caminho da imagem pelo seu 🙂
*
** /
add_action ('init', 'custom_fix_thumbnail');

função custom_fix_thumbnail () {
add_filter ('woocommerce_placeholder_img_src', 'custom_woocommerce_placeholder_img_src');

função custom_woocommerce_placeholder_img_src ($ src) {
$ upload_dir = wp_upload_dir ();
$ uploads = untrailingslashit ($ upload_dir ['baseurl']);
$ src = $ uploads. '/2012/07/thumb1.jpg';

retornar $ src;
}
}

3 – Remova os “produtos” da farinha de rosca

/ *
* Ocultar "Produtos" na trilha de navegação do WooCommerce
* /
função woo_custom_filter_breadcrumbs_trail ($ trail) {
foreach ($ trilha como $ k => $ v) {
if (strtolower (strip_tags ($ v)) == 'produtos') {
não definido ($ trail [$ k]);
quebrar;
}
}

retornar $ trail;
}

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

4 – Carrinho vazio

/ *
* Carrinho vazio do WooCommerce
* /
função my_empty_cart () {
$ woocommerce global;
$ woocommerce-> cart-> empty_cart ();
}
add_action ('init', 'my_empty_cart');

5 – Adicionar produto automaticamente ao carrinho na visita

/ *
* Adicionar item ao carrinho na visita
* /
função add_product_to_cart () {
if (! is_admin ()) {
$ woocommerce global;
$ product_id = 64;
$ encontrado = falso;
// verifique se o produto já está no carrinho
if (sizeof ($ woocommerce-> cart-> get_cart ())> 0) {
foreach ($ woocommerce-> cart-> get_cart () como $ cart_item_key => $ values) {
$ _product = $ values ​​['dados'];
if ($ _product-> id == $ product_id)
$ encontrado = verdadeiro;
}
// se o produto não for encontrado, adicione-o
if (! $ encontrado)
$ woocommerce-> cart-> add_to_cart ($ product_id);
} outro {
// se não houver produtos no carrinho, adicione-o
$ woocommerce-> cart-> add_to_cart ($ product_id);
}
}
}
add_action ('init', 'add_product_to_cart');

6 – Adicione uma moeda / símbolo personalizado

add_filter ('woocommerce_currencies', 'add_my_currency');

função add_my_currency ($ coins) {
$ moedas ['ABC'] = __ ('Nome da moeda', 'woocommerce');
retornar $ moedas;
}

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

função add_my_currency_symbol ($ currency_symbol, $ currency) {
switch ($ moeda) {
caso 'ABC': $ currency_symbol = '$'; quebrar;
}
retornar $ currency_symbol;
}

7 – Alterar o texto do botão adicionar ao carrinho

/ **
* Altere o texto Adicionar ao carrinho em páginas de produto únicas
* /
função woo_custom_cart_button_text () {
return __ ('Texto do meu botão', 'woocommerce');
}
add_filter ('texto_adicionar_arquivo_artigo', 'woo_custom_cart_button_text');



/ **
* Altere o texto Adicionar ao carrinho nos arquivos do produto
* /
função woo_archive_custom_cart_button_text () {
return __ ('Texto do meu botão', 'woocommerce');
}
add_filter ('add_to_cart_text', 'woo_archive_custom_cart_button_text');

8 – Redirecionar assinatura adicionar ao carrinho na página de checkout

/ **
* Redirecionar assinatura adicionar ao carrinho para a página de checkout
*
* @param string $ url
* /
função custom_add_to_cart_redirect ($ url) {

$ product_id = (int) $ _REQUEST ['adicionar ao carrinho'];
if (class_exists ('WC_Subscriptions_Product')) {
if (WC_Subscriptions_Product :: is_subscription ($ product_id)) {
retornar get_permalink (get_option ('woocommerce_checkout_page_id'));
} mais retorne $ url;
} mais retorne $ url;

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

Este snippet requer o plug-in Assinaturas.

9 – Redirecionar para a página de checkout após adicionar ao carrinho

/ **
* Redirecionar assinatura adicionar ao carrinho para a página de checkout
*
* @param none
* /
função add_to_cart_checkout_redirect () {
wp_safe_redirect (get_permalink (get_option ('woocommerce_checkout_page_id')));
morrer();
}
add_action ('woocommerce_add_to_cart', 'add_to_cart_checkout_redirect', 11);

10 – CC todos os e-mails

 / **
* Recurso Extra do WooCommerce
* --------------------------
*
* Adicione outro destinatário a todos os emails do WooCommerce
*
* /
função woo_cc_all_emails () {
retorne 'Cco: você é [email protected]'. "\ r \ n";
}
add_filter ('woocommerce_email_headers', 'woo_cc_all_emails');

11 – Envie um email quando um novo pedido for concluído com os cupons usados

/ **
* Recurso Extra do WooCommerce
* --------------------------
*
* Envie um e-mail sempre que um pedido com cupom (s) for concluído
* O e-mail contém cupom (s) usado (s) durante o processo de pagamento
*
* /
função woo_email_order_coupons ($ order_id) {
$ order = novo WC_Order ($ order_id);

if ($ order-> get_used_coupons ()) {

$ to = '[email protected]';
$ subject = 'Novo pedido concluído';
$ headers = 'De: meu nome'. "\ r \ n";

$ message = 'Um novo pedido foi concluído. \ n';
$ message. = 'ID do pedido:'. $ order_id. '\ n';
$ message. = 'Cupons usados: \ n';

foreach ($ order-> get_used_coupons () como $ coupon) {
$ message. = $ cupom. '\ n';
}
@wp_mail ($ to, $ subject, $ message, $ headers);
}
}
add_action ('woocommerce_thankyou', 'woo_email_order_coupons');

12 – Alterar o número de produtos relacionados

/ **
* Recurso Extra do WooCommerce
* --------------------------
*
* Altere o número de produtos relacionados na página do produto
* Defina seu próprio valor para 'posts_per_page'
*
* /
função woo_related_products_limit () {
produto global $;

$ args = matriz (
'post_type' => 'produto',
'no_found_rows' => 1,
'posts_per_page' => 6,
'ignore_sticky_posts' => 1,
'orderby' => $ orderby,
'post__in' => $ relacionados,
'post__not_in' => matriz ($ product-> id)
);
retornar $ args;
}
add_filter ('woocommerce_related_products_args', 'woo_related_products_limit');

13 – Excluir produtos de uma categoria específica na página da loja

 / **
* Remova os produtos da página da loja por categoria
*
* /
função woo_custom_pre_get_posts_query ($ q) {

if (! $ q-> is_main_query ()) retorna;
if (! $ q-> is_post_type_archive ()) return;

if (! is_admin () && is_shop ()) {

$ q-> set ('tax_query', array (array (
'taxonomy' => 'product_cat',
'campo' => 'lesma',
'terms' => array ('shoes'), // Não exibe produtos na categoria de sapatos na página da loja
'operator' => 'NOT IN'
)));

}

remove_action ('pre_get_posts', 'custom_pre_get_posts_query');

}
add_action ('pre_get_posts', 'woo_custom_pre_get_posts_query');

14 – Alterar o número das colunas da loja

/ **
* Recurso Extra do WooCommerce
* --------------------------
*
* Alterar o número das colunas do produto nas páginas da loja
*
* /
função woo_product_columns_frontend () {
$ woocommerce global;

// Valor padrão também usado para categorias e sub_categorias
$ colunas = 4;

// Lista de produtos
if (is_product_category ()):
$ colunas = 4;
fim se;

//Produtos relacionados
if (is_product ()):
$ colunas = 2;
fim se;

//Venda cruzada
if (is_checkout ()):
$ colunas = 4;
fim se;

retornar $ colunas;
}
add_filter ('loop_shop_columns', 'woo_product_columns_frontend');

15 – Desativar guias WooCommerce

 / **
* Remova as guias do produto
*
* /
função woo_remove_product_tab ($ tabs) {

não definido ($ tabs ['description']); // Remova a guia de descrição
não definido ($ tabs ['reviews']); // Remova a guia de comentários
unset ($ tabs ['informações_ adicionais']); // Remova a guia de informações adicionais

retornar $ tabs;

}
add_filter ('woocommerce_product_tabs', 'woo_remove_product_tab', 98);

16 – Remova a farinha de rosca

 / **
* Remova o WooCommerce BreadCrumb
*
* /
remove_action ('woocommerce_before_main_content', 'woocommerce_breadcrumb', 20);

17 – Restringir lista de países remetentes

/ **
* Recurso Extra do WooCommerce
* --------------------------
*
* Restringir lista de países de envio
*
* /
função woo_override_checkout_fields ($ fields) {

$ fields ['shipping'] ['shipping_country'] = matriz (
'type' => 'select',
'label' => __ ('Minha lista de novos países', 'woocommerce'),
'opções' => matriz ('AU' => 'Austrália')
);

retornar $ campos;
}
add_filter ('woocommerce_checkout_fields', 'woo_override_checkout_fields');

18 – Substitua “Grátis!” sequência de produtos

/ **
* Recurso Extra do WooCommerce
* --------------------------
*
* Substitua "Grátis!" por uma sequência personalizada
*
* /
função woo_my_custom_free_message () {
retornar "Este produto é GRÁTIS!";
}

add_filter ('woocommerce_free_price_html', 'woo_my_custom_free_message');

19 – Ocultar TODOS os outros métodos de envio quando Frete Grátis estiver disponível

// Ocultar TODAS as opções de envio quando o frete grátis estiver disponível
add_filter ('woocommerce_available_shipping_methods', 'hide_all_shipping_when_free_is_available', 10, 1);

/ **
* Ocultar TODAS as opções de envio quando o frete grátis estiver disponível
*
* @param array $ available_methods
* /
função hide_all_shipping_when_free_is_available ($ available_methods) {

if (isset ($ available_methods ['free_shipping'])):

// Colocar a matriz de frete grátis em uma nova matriz
$ freeshipping = array ();
$ freeshipping = $ available_methods ['free_shipping'];

// Esvazie a matriz $ available_methods
não definido ($ available_methods);

// Adicione frete grátis de volta para $ avaialble_methods
$ available_methods = array ();
$ available_methods [] = $ frete grátis;

fim se;

return $ available_methods;
}

20 – Não é necessário o campo “estado” da finalização da compra

/ **
* Recurso Extra do WooCommerce
* --------------------------
*
* Tornar o campo "state" não obrigatório no checkout
*
* /

add_filter ('woocommerce_billing_fields', 'woo_filter_state_billing', 10, 1);
add_filter ('woocommerce_shipping_fields', 'woo_filter_state_shipping', 10, 1);

função woo_filter_state_billing ($ address_fields) {
$ address_fields ['billing_state'] ['required'] = false;
retornar $ address_fields;
}

função woo_filter_state_shipping ($ address_fields) {
$ address_fields ['shipping_state'] ['obrigatório'] = false;
retornar $ address_fields;
}

21 – Criar um cupom programaticamente

$ coupon_code = 'UNIQUECODE'; // Código
$ amount = '10'; // Montante
$ discount_type = 'carro_conto fixo'; // Tipo: Fixed_cart, percent, Fixed_product, percent_product

$ cupom = matriz (
'post_title' => $ coupon_code,
'post_content' => '',
'post_status' => 'publicar',
'post_author' => 1,
'post_type' => 'shop_coupon'
);

$ new_coupon_id = wp_insert_post ($ cupom);

// Adicionar meta
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, 'uso individual', 'não');
update_post_meta ($ new_coupon_id, 'product_ids', '');
update_post_meta ($ new_coupon_id, 'exclude_product_ids', '');
update_post_meta ($ new_coupon_id, 'use_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 – Alterar as linhas de assunto do email

/ *
* Filtros de assunto:
* 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);

função change_admin_email_subject ($ subject, $ order) {
$ woocommerce global;

$ blogname = wp_specialchars_decode (get_option ('blogname'), ENT_QUOTES);

$ subject = sprintf ('[% s] Novo pedido do cliente (#% s) do nome% s% s', $ nome do blog, $ order-> id, $ order-> billing_first_name, $ order-> billing_last_name);

retornar $ subject;
}

23 – Adicionar taxa personalizada ao carrinho

/ **
* Recurso Extra do WooCommerce
* --------------------------
*
* Adicionar taxa personalizada ao carrinho automaticamente
*
* /
função woo_add_cart_fee () {

$ woocommerce global;

if (is_cart ()) {
$ woocommerce-> cart-> add_fee (__ ('Personalizado', 'woocommerce'), 5);
}

}
add_action ('woocommerce_before_cart_table', 'woo_add_cart_fee');

24 – Mensagem adicionada ao carrinho personalizada

/ **
* Mensagens personalizadas Adicionar ao carrinho
* Adicione isso ao seu arquivo functions.php do tema
** /
add_filter ('woocommerce_add_to_cart_message', 'custom_add_to_cart_message');
função custom_add_to_cart_message () {
$ woocommerce global;

// Saída de mensagens de sucesso
if (get_option ('woocommerce_cart_redirect_after_add') == 'sim'):

$ return_to = get_permalink (woocommerce_get_page_id ('loja'));

$ message = sprintf ('% s % s ', $ return_to, __ (' Continue comprando → ',' woocommerce '), __ (' Produto adicionado com sucesso ao seu carrinho. ',' woocommerce '));

outro :

$ message = sprintf ('% s % s ', get_permalink (woocommerce_get_page_id (' cart ')), __ (' Exibir carrinho → ',' woocommerce '), __ (' Produto adicionado com sucesso ao seu carrinho. ',' woocommerce '));

fim se;

retornar $ mensagem;
}

25 – Adicionar forma de pagamento ao e-mail do administrador

/ **
* Recurso Extra do WooCommerce
* --------------------------
*
* Adicione a forma de pagamento para administrar o novo e-mail do pedido
*
* /
add_action ('woocommerce_email_after_order_table', 'woo_add_payment_method_to_admin_new_order', 15, 2);

função woo_add_payment_method_to_admin_new_order ($ order, $ is_admin_email) {
if ($ is_admin_email) {
eco '

Forma de pagamento: ' $ order-> payment_method_title. "

'; } }

E boom! É isso aí! Espero que você goste desses trechos. Se você tiver alguma sugestão, não hesite em deixar um comentário abaixo!


Você não tem um tema pronto para o WooCommerce ou deseja um novo? Não deixe de conferir nosso tema Total WordPress!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me