Listado de Codigos para tu Pagina Code Snipets WordPress

Muchas veces me pasa que las funcionalidades que tiene un tema un pluging o constructor no permite realizar la función que se necesita y por ello se require de algún codigo especial, Javascript o similar. Code Snipets WordPress

Acordeos de Elementor Pro Cerrado

Si usas el elemento de acordeon dentro de elementor te daras cuenta quie por defeto lo pone abierto…  algo que a veces no es necesario.. Queremos que por defecto el acordeon aparezca cerrado y que al pulsar el usario en el texto se abra.

Primero debemos de Añadir encima del bloque leer mas el siguiente script ( Es un jquery que no me gusta nada pero es lo que hay…)

<script>

jQuery(document).ready(function($) {
var delay = 100; setTimeout(function() {
$('.elementor-tab-title').removeClass('elementor-active');
$('.elementor-tab-content').css('display', 'none'); }, delay);});

</script>

*) Ojo meter el codigo tal cual .. en linea.. que se vea que coja el formato sino te va a dar problemas.

Añadimos un widget (html y metemos el codigo y un acordeon abajo con el texto que necesitemos)

 

Actualizar la version de php en un hosting con varias paginas web

Normalmente los hosting «Buenos» permite actualizar la version de php en cada uno de los donios/Subdirectorios.. osea yo tengo 4 web dentro de mi hosting pero quiero tener una con la version 8 de php uy el resto con la 7.4…

Para ello debemos de añadir en el fichero .htaccess la siguiente linea..  ( cambiando 74 por la version que se necesite.. )

AddHandler application/x-httpd-alt-php74___lsphp .php

Ten en cuenta que en la regla anteriormente facilitada puedes modificar el «74» por la versión de PHP que desees configurar para esa web.

Como comprobar que se ha realizado correctamente.. Revisa tu hosting muchas veces tienen ese aparatdo en el cpanel o plesk .. sino tendras que hacer los siguiente.. vete a tu directorio ftp crear un archivo tipo info.php y le metes esta linea de codigo

<?php  phpinfo(); ?>

Luego llamas a ese archivo desde el navegador: Ej: tupaginaweb.com/info.php

Contenido mixto

Normalmente uso plugins para ello ( ver post mejores plugins wordpress) . nunca me ha hecho falta probarlo pero para la proxima lo pruebo 😉

<ifModule mod_headers.c>
Header always set Content-Security-Policy "upgrade-insecure-requests;"
</IfModule>

 

Imagenes de fondo en articulos se repiten Elementor

Me pasa en todas las web, no se porque .. aunque lo cambien en elemntor pro y lo modifique no me lo permite.. las imagenes de fondo se repiten en horizontal, creo que es algo del theme (Astra), el tipo de capa de fondo que pongo… o de algunas versiones.. no se. Al final tengo que añadir casi siempre este codigo.

.elementor-background-overlay {
background-position: center center;
background-repeat: no-repeat;
background-size: cover;}

 

Modificar el texto de añadir al carrito

 

// Cambia el texto del botón Añadir al carrito en WooCommerce en la categorías de productos
//Modificar texto del botón Añadir al carrito

function custom_woocommerce_product_add_to_cart_text() {

global $product;
$product_type = $product->product_type;

switch ( $product_type ) { case ‘external’:
return __( ‘Ir’, ‘woocommerce’ ); break;
case ‘grouped’:
return __( ‘Detalles’, ‘woocommerce’ ); break;
case ‘simple’:
return __( ‘Comprar’, ‘woocommerce’ ); break;
case ‘variable’:
return __( ‘Opciones’, ‘woocommerce’ ); break;
default: return __( ‘Detalles’, ‘woocommerce’ );
}}

add_filter( ‘woocommerce_product_add_to_cart_text’ , ‘custom_woocommerce_product_add_to_cart_text’ );

 

 

Campos Obligatorios Checkout de Woocomerce

Tienes una tienda online el cliente elige el pedido y añade sus datos de facturacion… esos datos de facturacion son personalizable ( puedes quitar y poner )  los que necesites (Ver los mejores plugin de woocomerce en otro articulo), el tema es que al cambiarlos .. o similar puedes necesitar que un campo sea obligatorio o no… por ejemplo ciudad o codigo postal no quiero que sea obligatorio. COmo lo hacemos?

Debemos de añadir el siguiente codigo en el archivo funtion.php

/** Otros campos de facturación  true = obligatorio - false = opcional*/

add_filter( 'woocommerce_default_address_fields', 'personalizar_campos_extra', 1000, 1 );
function personalizar_campos_extra( $address_fields ) {
$address_fields['company']['required'] = false; //Empresa
$address_fields['address_1']['required'] = false; //Dirección
$address_fields['country']['required'] = false; //País
$address_fields['city']['required'] = true; //Ciudad
$address_fields['state']['required'] = false; //Provincia
$address_fields['postcode']['required'] = false; //Código postal
return $address_fields;}

Redirigir a la pagina de checkOut

Que es el Check Out? Es la pagina de finalizar la compra donde se rellenan los datos de usuario.

Si un cliente esta comprando en la tienda y pulsa en añadir al carrito… puede interesarnos los siguientes pasos:

  1. Siga comprando y eligiendo lo que quiera…  ( Es la que viene por defecto en woo)
  2. Redirigir a la pagina del carrito ( Donde muestra todos los productos seleccionados y el usaurio elije si finalizar comprar o comprar ( Esta opcion esta en ajustes de woo > Genereal. Redirigir al carrito
  3. Tan pronto añada al carrito un producto lo enviamos a la pagian a de pagar.

Para añadir la opcion 3. debemos de add este codigo en el function.

function cod_redirect_checkout_add_cart( $url ) {
$url = wc_get_page_permalink( 'checkout' );
return $url;}
add_filter( 'woocommerce_add_to_cart_redirect', 'cod_redirect_checkout_add_cart' );

 

Redirigir a una página al usuario cuando se registra

En este caso cuando un usuario se regiustra en nuestra pagina web lo redirigimos a la pagina de welcome

function redirect_user_after_registration ( $registration_redirect ) {
    return home_url( '/welcome/' );
}
add_filter( 'registration_redirect', 'redirect_user_after_registration' );

Redirigir al usuario cuando inicia sesión

En este caso cuando un usuario se loguea en la web y es redirigido a la pagina de tuurl

function my_custom_login_redirect(){
wp_redirect( home_url("/tuurl") );
exit();
}
add_action( 'wp_login','my_custom_login_redirect' );

Personalizar el menu Login

Como siempre pues hacerlos por codigo o con plugin…  estas funciones son snippet puesdes descargarte un plugin para ello y meter este contenido

Mensaje en el pie de pagina

function wprin_custom_text_in_footer_admin() {
return 'Benvido a WebFerrol';
}
add_action( 'admin_footer_text', 'wprin_custom_text_in_footer_admin' );

//Personalizar el resto con una imagen de fondo logo y texto

function my_access_styles(){
// Registro estilo con el nombre “mi-estilo” get_template_directory_uri() devuelve el directorio del tema utilizado actualemente
wp_register_style( 'logo-css', get_site_url() . '/logo/logo-head.css' );
// invoco al estilo para su uso
wp_enqueue_style( 'logo-css' );}
function change_wp_login_url() {return 'http://www.albertopampin.es';}
function change_wp_login_title() {return 'Visita a nuestros expertos en WEB en ';}
//Engadimos na cabecera o css do logo que imos a utilizar no acceso
add_action('login_head', 'my_access_styles');
// personalizar url logo acceso
add_filter('login_headerurl', 'change_wp_login_url');
//Cambiar texto alt do logo de login
add_filter('login_headertitle', 'change_wp_login_title');

 

No traducir los articulos de las paginas en Polylang

A veces pasa que tienes una web con vasrios idiomas y quieres traducir todo menos las paginas del blog, el tema es que para mostrarlo te obliga a crearlos uno a uno y es un lio.

Se podria cambiar la url del blog en el idioma  y listo pero esta solucion me parace mas profecional. ( Me refiero a que si tenes dos idiomas español e ingles.) en el menu de ingles crear una url personalizada que apunte al español y ya estaria), aunque tiene sus desventajas por ejemplo si en la principal cargas los ultimos articulos no los miostrara en la version inglesa), pero con este codigo si lo hara.

En este caso cuando un usuario se regiustra en nuestra pagina web lo redirigimos a la pagina de welcome.

Añadir el siguiente codigo en el funtions.php

add_filter( 'pll_get_post_types', 'remove_post_translation_from_pll', 10, 2 );
function remove_post_translation_from_pll( $post_types, $is_settings ) {
unset( $post_types['post'] );
return $post_types;
}

//Redirigir al chekcout sin pasar por el carrito
add_filter (‘add_to_cart_redirect’, ‘redirect_to_checkout’);

function redirect_to_checkout() {
global $woocommerce;
$checkout_url = $woocommerce->cart->get_checkout_url();
return $checkout_url;
}

 

//Area de registro sidebar

if (function_exists(«register_sidebar»)) {
register_sidebar();
}

// UN SOLO PRODUCTO EN EL CARRITO

add_filter( ‘woocommerce_add_cart_item_data’, ‘mk_only_one_item_in_cart’, 10, 1 );

function mk_only_one_item_in_cart( $cartItemData ) {
wc_empty_cart();

return $cartItemData;
}

// EVITAR EL CARRITO

function wc_empty_cart_redirect_url() {
return ‘https://ifspanish.yourbusinesscard.org/’;
}
add_filter( ‘woocommerce_return_to_shop_redirect’, ‘wc_empty_cart_redirect_url’ );

 

//REDIRIGIR SIEMPRE AL CHECKOUT

function woo_redirect_to_checkout() {
global $woocommerce;
$checkout_url = $woocommerce->cart->get_checkout_url();
return $checkout_url;
}
add_filter (‘woocommerce_add_to_cart_redirect’, ‘woo_redirect_to_checkout’);

Si te ha gustado este articulo, te he ayudado o tienes alguna duda escribeme en los comentarios. Me ayudaría mucho a seguir creciendo.

GRACIAS

Share on facebook
Facebook
Share on whatsapp
WhatsApp
Share on email
Email
Share on twitter
Twitter
Share on linkedin
LinkedIn

Articulos relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *