Skip to content

Instantly share code, notes, and snippets.

@acanza
acanza / hide-price-for-free-products.php
Created February 26, 2018 10:00
Oculta el precio del producto cuando este tiene coste 0
// Oculta el precio del producto cuando este tiene coste 0
if ( in_array( 'woocommerce/woocommerce.php', get_option( 'active_plugins' ) ) && version_compare( WC()->version , '3.0.0', '>' ) ){
add_filter( 'woocommerce_get_price_html', 'hide_price_for_free_products' );
function hide_price_for_free_products( $price ) {
global $product;
if ( !$product->is_type( 'variable' ) && (0 == $product->get_price() ) ) {
return '';
@acanza
acanza / delete-tax-label-on-upsells-notice.php
Last active March 8, 2018 18:57
[Cart Notice for WooCommerce] Elimina la etiqueda de (sin IVA) cuando se muestra la cantidad restante para alcanzar el precio mínimo en el carrito.
// [Cart Notice for WooCommerce] Elimina la etiqueda de (sin IVA) cuando se muestra la cantidad restante para alcanzar el precio mínimo en el carrito.
if ( class_exists( 'WooCommerce' ) && class_exists( 'BeRocket_cart_notices' ) ) {
add_filter( 'wp_footer', 'delete_tax_label' );
function delete_tax_label(){
if ( is_cart() ) {
?>
<!-- Start BeRocket_cart_notices -->
<script type="text/javascript">
@acanza
acanza / create-automatic-coupon-only-for-this-customer.php
Created December 14, 2017 08:40
Crea un cupón descuento único para cada cliente al terminar su compra
// Crea un cupón descuento único para cada cliente al terminar su compra
if ( in_array( 'woocommerce/woocommerce.php', get_option( 'active_plugins' ) ) ){
add_filter( 'woocommerce_thankyou_order_received_text', 'create_automatic_coupon_only_for_this_customer', 99, 2 );
function create_automatic_coupon_only_for_this_customer( $message, $order ){
// Configuración del cupón
$discount_type = 'percent'; // Aquí defines el tipo de descuento que aplica este cupón. Por defecto está configurado en porcentaje 'percent', para descuento fijo usa 'fixed_cart'
$amount = 30; //Aquí defines la cantidad de descuento asociada a este cupón
$expiration = 12; // Aquí debes indicar la validez del cupón en días
@acanza
acanza / wc-custom-thank-you-page.php
Created December 14, 2017 08:19
Crea una página de agradecimiento personalizada
// Redirige al cliente a una página de agradecimiento personalizada según el producto que haya comprado
if ( in_array( 'woocommerce/woocommerce.php', get_option( 'active_plugins' ) ) && ( version_compare( WC()->version, '3.0.0', '>=' ) ) ){
add_action( 'template_redirect', 'wc_custom_redirect_after_purchase' );
function wc_custom_redirect_after_purchase() {
global $wp;
$products_list = array( 17453, 17253 ); // Añade aquí los IDs de tus productos o usa '*' para que se aplique a todos los productos de la tienda
$page_ID = 16089; // Indica aquí el ID de la página de agradecimiento personalizada
if ( is_checkout() && ! empty( $wp->query_vars['order-received'] ) ) {
@acanza
acanza / wc-customice-customer-emails-content.php
Created December 13, 2017 17:12
Personaliza el mensaje por defecto de los emails de pedido del cliente
// Personaliza el mensaje por defecto de los emails de pedido del cliente
if ( in_array( 'woocommerce/woocommerce.php', get_option( 'active_plugins' ) ) ){
add_action( 'init', 'create_custom_wc_emails_dir' );
function create_custom_wc_emails_dir(){
$processing_entry_content = 'Hola {{nombre}}. ¡Eres genial!<br><br>Gracias por comprar en nuestra tienda.<br><br>Ya hemos recibido tu pedido y estamos preparándolo para enviártelo. En cuanto salga del nuestros almacenes te avisaremos ;-)'; //Escribe aquí tu mensaje personalizado para el email de procesando pedido
$completed_entry_content = 'Hola {{nombre}}!<br><br> Tu pedido ya está listo y acaba de salir de nuestros almacenes. En 24h hábiles lo tendrás en tu dirección.<br><br>Te recordamos los detalles de tu compra a continuación:'; //Escribe aquí tu mensaje personalizado para el email de pedido completado
// Crea la carpeta /woocommerce/emails/ dentro del tema
$my_theme_emails_dir = get_stylesheet_directory();
@acanza
acanza / cancelled-order-redirect-to-cutom-page.php
Last active December 12, 2017 16:50
Redirige a una página personalizada cuando se cancela el pedido
// Redirige a una página personalizada cuando se cancela el pedido
add_action( 'woocommerce_cancelled_order','cancelled_order_redirect_to_custom_page', 1, 1 );
function cancelled_order_redirect_to_custom_page( $order_id ) {
$custom_page_id = 25240; // Indica aquí el id de tu página personalizada.
if ( get_permalink( $custom_page_id ) && isset( $_GET[ 'cancel_order' ] ) ) {
$order_key = wc_clean( $_GET[ 'order' ] );
$redirect = get_permalink( $custom_page_id );
$redirect .= get_option( 'permalink_structure' ) === '' ? '&' : '?';
@acanza
acanza / check-wc-terms-and-conditions-by-default.php
Created November 7, 2017 07:11
Deja marcada por defecto la casilla de aceptación de los términos y condiciones de compra
// Deja marcada por defecto la casilla de aceptación de los términos y condiciones de compra
function check_wc_terms_and_conditions_by_default( $terms_is_checked ) {
return true;
}
add_filter( 'woocommerce_terms_is_checked', 'check_wc_terms_and_conditions_by_default', 10 );
add_filter( 'woocommerce_terms_is_checked_default', 'check_wc_terms_and_conditions_by_default', 10 );
@acanza
acanza / customize-default-text-in-thank-you-page.php
Created November 2, 2017 19:46
Personaliza el texto por defecto en la página de pedido recibido de WooCommerce
// Personaliza el texto por defecto en la página de pedido recibido de WooCommerce
if ( in_array( 'woocommerce/woocommerce.php', get_option( 'active_plugins' ) ) ){
add_filter( 'gettext', 'customize_default_text_in_thank_you_page', 20 );
function customize_default_text_in_thank_you_page( $translated ) {
$text = array(
'Texto original 1' => 'Nuevo texto 1',
'Texto original 2' => 'Nuevo texto 2'
);
@acanza
acanza / add-custom-content-before-main-content-of-product.php
Last active October 28, 2017 09:24
Permite mostrar contenido personalizado en la parte superior de la ficha de producto
// Permite mostrar contenido personalizado en la parte superior de la ficha de producto
if ( in_array( 'woocommerce/woocommerce.php', get_option( 'active_plugins' ) ) ){
// Muestra el contenido si lo hay
add_action( 'woocommerce_before_single_product_summary', 'add_custom_content_before_main_content_of_product', 5 );
function add_custom_content_before_main_content_of_product(){
global $post;
$top_content = get_post_meta( $post->ID, 'top_content', true );
if ( !empty( $top_content ) ) {
@acanza
acanza / add-active-campaign-pixel.php
Created July 18, 2017 10:41
Añade el pixel de Active Campaign al footer
// Añade el pixel de Active Campaign al footer
add_action( 'wp_footer', 'add_active_campaign_pixel' );
function add_active_campaign_pixel(){
?>
<!-- Active Campaign -->
<!-- End Active Campaign -->
<?php
}