Hace más de un año os trajimos un artículo en el que os mostrábamos 9 códigos para mejorar tu tienda online desarrollada con WooCommerce. El artículo fue muy popular ya que se compartió muchísimo a través de las redes sociales. Es por eso que en esta ocasión os hemos traido otros 9 códigos más con los que mejorar tu WooCommerce. Todos sabéis que WooCommerce es un plugin súper potente con el que podemos convertir nuestro WordPress en una tienda online, pero aún así cuenta con ciertas deficiencias. Deficiencias que como bien conocéis, podremos suplir mediante plugins para WordPress, o bien mediante código.
A continuación te muestro 9 códigos para WooCommerce que te pueden venir muy, pero que muy bien.
add_action( 'woocommerce_email_after_order_table', 'anadir_metodo_pago_correo', 15, 2 );
function anadir_metodo_pago_correo( $order, $is_admin_email ) {
if ( $is_admin_email ) {
echo '<p><strong>Metodo de pago:</strong> ' . $order->payment_method_title . '</p>';
}
}
add_filter ('add_to_cart_redirect', 'redireccionar_al_checkout');
function redireccionar_al_checkout() {
global $woocommerce;
$checkout_url = $woocommerce->cart->get_checkout_url();
return $checkout_url;
}
add_filter('gettext', 'traducir');
add_filter('ngettext', 'traducir');
function traducir($translated) {
$translated = str_ireplace('Choose an option', 'Escoge una opcion', $translated);
return $translated;
}
add_filter( 'woocommerce_product_categories_widget_args', 'woo_product_cat_widget_args' );
function woo_product_cat_widget_args( $cat_args ) {
$cat_args['exclude'] = array('16');
return $cat_args;
}
//Mostrar cammpos
add_action( 'woocommerce_product_after_variable_attributes', 'variable_fields', 10, 2 );
//JS para añadir campos a las nuevas variaciones
add_action( 'woocommerce_product_after_variable_attributes_js', 'variable_fields_js' );
//Guardar los campos de las variaciones
add_action( 'woocommerce_process_product_meta_variable', 'variable_fields_process', 10, 1 );
function variable_fields( $loop, $variation_data ) { ?>
<tr>
<td>
<div>
<label></label>
<input type="text" size="5" name="my_custom_field[]" value=""/>
</div>
</td>
</tr>
<tr>
<td>
<div>
<label></label>
</div>
</td>
</tr>
<?php }
function variable_fields_process( $post_id ) {
if (isset( $_POST['variable_sku'] ) ) :
$variable_sku = $_POST['variable_sku'];
$variable_post_id = $_POST['variable_post_id'];
$variable_custom_field = $_POST['my_custom_field'];
for ( $i = 0; $i < sizeof( $variable_sku ); $i++ ) :
$variation_id = (int) $variable_post_id[$i];
if ( isset( $variable_custom_field[$i] ) ) {
update_post_meta( $variation_id, '_my_custom_field', stripslashes( $variable_custom_field[$i] ) );
}
endfor;
endif;
}
// Cambiar el texto "Añadir al carrito" por "Producto ya en carrito" en ficha de producto
add_filter( 'woocommerce_product_single_add_to_cart_text', 'texto_boton_carrito' );
function texto_boton_carrito() {
global $woocommerce;
foreach($woocommerce->cart->get_cart() as $cart_item_key => $values ) {
$_product = $values['data'];
if( get_the_ID() == $_product->id ) {
return __('Producto ya en carrito ¿Añadir otra vez?', 'woocommerce');
}
}
return __('Añadir al carrito', 'woocommerce');
}
// Cambiar el texto "Añadir al carrito" por "Producto ya en carrito" en archivo de productos
add_filter( 'add_to_cart_text', 'texto_boton_carrito_archive' );
function texto_boton_carrito_archive() {
global $woocommerce;
foreach($woocommerce->cart->get_cart() as $cart_item_key => $values ) {
$_product = $values['data'];
if( get_the_ID() == $_product->id ) {
return __('Producto ya en carrito', 'woocommerce');
}
}
return __('Añadir al carrito', 'woocommerce');
}
add_filter( 'woocommerce_checkout_fields', 'campos_obligatorios_checkout' );
function campos_obligatorios_checkout( $fields ) {
$fields['account']['account_username']['required'] = true;
$fields['account']['account_password']['required'] = true;
$fields['account']['account_password-2']['required'] = true;
return $fields;
}
function mail_from_personalizado() {
global $woocommerce;
return html_entity_decode( 'tucorreo@tudominio.com' );
}
add_filter( 'wp_mail_from', 'mail_from_personalizado', 99 );
add_action( 'woocommerce_checkout_process', 'pedido_minimo' );
function pedido_minimo() {
global $woocommerce;
$minimum = 50;
if ( $woocommerce->cart->get_cart_total(); < $minimum ) {
$woocommerce->add_error( sprintf( 'Tu pedido debe ser de al menos %s€ para procesarse.' , $minimum ) );
}
}
function anadir_campos_direcciones( $fields ) {
$new_fields = array(
'date_of_birth' => array(
'label' => __( 'Fecha de nacimiento', 'woocommerce' ),
'required' => false,
'class' => array( 'form-row' ),
),
);
$fields = array_merge( $fields, $new_fields );
return $fields;
}
add_filter( 'woocommerce_default_address_fields', 'anadir_campos_direcciones' );
Y hasta aquí nuestro artículo sobre 9 códigos más con los que mejorar tu WooCommerce. Espero que te haya gustado y, si te ha resultado útil, no dudes en compartirlo en redes sociales. ¡Nos leemos!
