WooCommerce Snippet: Que sólo se puedan comprar productos de una categoría a la vez

Por regla general, no tenemos ningún tipo de limitación en WooCommerce para que los clientes compren todos los productos que quieran y cuantos más mejor.

Con esto quiero decir que pueden comprar productos de diferentes categorías sin problemas. Es lo normal, claro.

Pero puede suceder que no nos interese que puedan comprar productos de varias categorías a la vez, ya sea por cuestiones de envío o por el motivo que sea.

Para ello podemos utilizar el siguiente Snippet de código que lo que hará será no permitir que se añada un producto de una categoría diferente a la categoría del producto que ya está en el carrito.

Si ya hay un producto en el carrito y el cliente intenta añadir al carrito un producto de otra categoría se mostrará un mensaje como el que vemos en la siguiente imagen:

Mensaje de aviso de que solo se puede comprar de una categoría a la vez

El video

Este mensaje lo podéis cambiar para adaptarlo a vuestras necesidades.

Me podéis dejar un comentario con vuestra apreciaciones.

Saludos y mucho ánimo!!

WooCommerce Snippet: Mover la descripción corta del producto debajo del botón de «Añadir al carrito» en las páginas de producto

Por defecto WooCommerce muestra la descripción corta del producto por encima del botón de «Añadir al carrito«.

Si queremo mover esa descripción corta para que esté debajo del botón de «Añadir el carrito», podemo usar el siguiente snippet de código y añadirlo a nuestro plugin de funciones o al fichero functions.php de nuestro tema activo.

Una vez que utilicemos este código, se motraría así:

WooCommerce Snippet - Mover la descripción corta debajo del botón "Añadir al carrito"

El video

Espero que este código os sea de utilidad.

Cualquier cosa me podéis comentar en los comentarios.

Saludos y mucho ánimo!!

Añadir botón de «Seguir comprando» en la página del carrito de WooCommerce

La página del carrito de WooCommerce es una antesala a la página de checkout o finalizar compra donde los clientes están a punto de terminar su compra y seguramente abandonar nuestra tienda online.

Este puede ser un buen momento para recordarles de alguna manera que pueden volver a revisar los productos de nuestra tienda y qué mejor manera que un botón de «Seguir comprando«.

El siguiente snippet hace eso, añade un botón de «Seguir comprando» en la página del carrito para que los visitantes vuelvan a nuestra tienda antes de pasar al checkout:

WooCommerce - Añadir botón seguir comprando en página del carrito

Este código se puede personalizar de muchas formas tanto para cambiar el texto, la url o enlace del botón o incluso el sitio donde ponerlo utilizando otro hook.

El video

Espero que este tutorial te sirva de ayuda.

Cualquier apreciación que tengas puedes dejárla en los comentarios.

Saludos y ánimo!!

Obtener el contenido de cualquier post en WordPress

Cuando estamos desarrollando en WordPress, picando código en los diferentes ficheros php, ya sabemos que nos muestra el contenido de ese fichero como es el caso de los ficheros de archivo.

En el ejemplo que os presento queremos ya tenemos un fichero archive-hook.php donde tenemos implementado todo el código necesario para que muestre todos los posts del CPT «hook» en forma de listado como nosotros/as queremos pero, la casualidad es que también queremos mostrar algún tipo de contenido más estático en la parte superior de esa página, como si fuera el ancabezado de la página de archivo y después que muestre el listado que ya tenemos preparado en el código.

Dependiendo de cómo lo tengamos, es posible que al crear la página «hooks» en el panel de administración de WordPress, no nos muestre ese contenido y solo nos muestre lo que tenemos implementado en el fichero «archive-hook.php«.

Nota: He dicho crear la página «hooks» porque se trata de un CPT y tenemos reescrita el slug por «hooks«.

Bien, en estos casos vamos a tener que echar mano de una función de WordPress para coger el contenido de la página «hooks» y decirle por código que nos la muestre antes del listado de los hooks que tenemos implementado en el fichero «archive-hook.php«.

Esto que comento, podemos hacerlo usando la función: «get_post();«

A continuación podemos ver el formato y parámetros de esta función:

get_post( int|WP_Post|null $post = null, string $output = OBJECT, string $filter = 'raw' )

Tenéis más información sobre la función get_post() en el siguiente enlace: https://developer.wordpress.org/reference/functions/get_post/

Para el caso que nos ocupa, lo único que necesitamos es el ID del post (en este caso, página) que tiene el contenido que queremos mostrar por código antes del listado.

Por consiguiente, una forma de hacerlo sería la siguiente:

Con esto conseguimos mostrar el contenido de ese post que hemos creado en forma de página, entrada o de otro tipo en nuestro código.

Es una forma sencilla de tener el control de la parte estática a través del editor de WordPress y dejar la parte dinámica al código.

Espero que os sea de utilidad y cualquier duda o sugerencia, ya sabéis, dejadme un comentario o hacédmelo saber de cualquier otra forma.

Saludos a todos/as!

WordPress Snippet: Reemplazar el saludo al usuario

Hoy volvemos como no, con un nuevo WordPress Snippet.

Se que a muchos os gustan estos trocitos de código y por eso los voy poniendo. Además, así me da tiempo a preparar otro tipo de contenido con el cual estoy ahora y que poco a poco iré anunciando para cuando llegue el momento.

Pues bien, en este post vamos a hacer algo bien sencillo que no es otra cosa que cambiar la palabra de saludo que WordPress pone delante del nombre del usuario logueado, en la parte superior derecha de la pantalla.

Tal vez con un poco más de luz:

WordPress snippet - cambiar el saludo al usuario

Eso es, a este saludo me refiero. En concreto a la palabra «Hola«.

Si, esta palabra es posible modificarla de otras formas como por ejemplo modificando el fichero «.po» de la traducción al Español de WordPress pero aquí estamos para hacer cosas con WordPress, para trastear y para practicas programación que es lo que nos gusta, ¿Verdad?

El Snippet

A los que ya visitáis esta web de vez en cuando igual os choca un poco que ponga este título.

Pues bien, éste va a ser el primero de muchos WordPress Snippets que vamos a hacer y que a partir de ahora procuraré hacerlo de dos formas. La primera de ellas será la que venimos haciendo hasta ahora para incluir en el fichero «functions.php» de nuestro tema y la segunda será creando un plugin.

Los plugins que crearemos al principio serán muy sencillos, sin complicaciones pero según vayamos avanzando, intentaré complicarlos para que aprendáis todo lo que podáis con mis consejos.

Manos a la obra

Nos centramos en este Snippet en concreto y para ello nos queda claro que lo que tiene que hacer es sustituir la palabra «Hola» por otra palabra que nos guste para saludar a los usuarios registrados. En mi caso voy a sustituirla por «Qué pasa«.

Crearemos la función «oaf-wp-reemplazar-hola«. Aquí a vuestro gusto…

Bueno, como es pequeña, pongo la función y a continuación explico un poco el código.

function oaf-wp-reemplazar-hola( $saludo ) {
    $nuevo_saludo = 'Que pasa';
    if ( is_user_logged_in() ) {
        $text = str_replace( 'Hola', $nuevo_saludo, $saludo );
    }
    return $saludo;
}

En primer lugar creamos una variable para almacenar la palabra que queremos que sustituya a «Hola«. Esta variable la he llamado $nuevo_saludo para que quede claro de lo que estamos hablando.

Posteriormente comprobamos que el usuario esté logueado y si es así procede a reemplazar el texto «Hola» por el que contiene la variable $nuevo_saludo y lo guarda en la variable $saludo.

Par finalizar, retornamos el valor de $saludo y función lista.

Ahora nos queda el filtro o filter, como era de esperar.

El filtro / filter

En este caso utilizaremos el «gettext» junto con el nombre de la función que acabamos de crear.

Por consiguiente el filtro quedaría así:

add_filter( 'gettext', 'oaf-wp-reemplazar-hola' );

Fácil y sencillo, ¿Verdad?

El código

Creo que no hay nada más que explicar sobre esto por lo que voy a poner el código completo del snippet a continuación para que podáis disponer de el cuando queráis.

El desenlace

Eso es, si. Con desenlace me refiero a ver lo que nos ha hecho este snippet y para ello basta con mirar de nuevo en la parte superior derecha de la pantalla y ver cómo no saluda ahora:

Crear un post de WordPress con código

Hoy vamos a ver cómo crera un post mediente código.

Algo que a simple vista puede no tener ningún sentido pero que si lo pensamos detenidamente puede que existan circunstancias en las que será necesario utilizar esto como parte de un plugin o código más extenso.

Es el ejemplo que me ocupa ahora mismo en uno de los proyectos en los que estoy trabajando que no es otro que crear contenido de un tipo de contenido personalizado a partir de los datos que se solicitan a la base de datos. No voy a comentar más sobre esto porque luego todo se sabe…

Bueno, a lo que vamos…

wp_insert_post()

La función que vamos a utilizar para crear un post en este caso es wp_insert_post(). Como su nombre indica o podemos intuir, nos va a permitir insertar o crear un post.

Teneís información sobre la función wp_insert_post() en este enlace.

Como vamos a hacerlo sencillo os pongo un ejemplo a continuación y luego lo comentamos un poco:

Si probáis el código anterior, tened cuidado y hacedlo en un sitio en desarrollo o mejor de pruebas en local. Os digo esto porque aunque el código hace lo que tiene que hacer, no hemos incluído ningún check para saber si ya existe un post como el que estamos creando y por consiguiente se crearán posts iguales constantemente.

Yo he hecho la prueba para que os hagáis una idea y lo podéis ver en la siguiente captura:

Esto es sólo de un momento, unos 20 segundos, si le dejo más tiempo, seguirá creando posts y posts. Un sin parar, vamos…

Bien, ahora analicemos un poco la función que hemos usado.

Hemos usado varias variables para que guarden el contenido que queremos para usarlas dentro del array. Estas variables contendrásn la ID del autor, el slug, el título y el contenido del post: $author_id, $slug, $title, $content.

Postermiormente utilizamos la función wp_insert_port() para crear el post con el contenido que queremos usar dentro de un array.

No creo que haga falta mucha explicación porque se reconocen bastante bien las diferente opciones.

Comprobar si el post ya existe

Para este caso voy a crear una función que compruebe o más bien compare el slug del post que quiero crear con todos los slugs que ya hay creados. Es más, en esta función le especifico que mire sólo en posts.

Podríamos usar esto también con custom posts types osea que ahí queda eso. Pero como digo, para este ejemplo lo haremos con posts.

El código de la función que os comento es el siguiente:

Como podéis observar, mediante el array le pasamos los datos de los posts que queremos que chequee.

Esta función no tiene mucho más misterio, simplemente hace na consulta de todos los posts que cumplan los argumentos que le pasamos en el array.

Esta función es la que vamos autilizar para completar nuestro snippet.

El código completo

Una vez que hemos creado las dos partes que van a componer este snippet, las juntamos y añadimos un condicional para que chequee si el slug ya existe si no existe creará el post con los datos que le indicamos en el array y si ya existe no lo creará.

Ah, bueno, algo muy importante… el hook.

El hook que usaremos será «after_setup_theme» y es en ese hook donde ejecutaremos la función que creará el post.

Aquí tenéis el código comleto para vuestro uso y disfrute:

Y el resutado, como era de esperar será el siguiente:

Sin mas, nos vemos en el siguiente.

Aplicar CSS personalizado en el área de administración de WordPress

Hacía tiempo que no tenía necesidad de hacer esto pero estos días he tenido que hacer unas modificaciones en el área de administración de WordPress para que algunas cosas estén mejor para un cliente porque en este caso el cliente va a gestionar y hacer diferentes cambios en su web periodicamente.

Pues bien, al grano…

Para poder inyectar css que tenga efecto en el área de administración de WordPress deberemos utilizar el hook: ‘admin_head‘. A partir de aquí, comenzamos a hacer las pruebas.

Como siempre, hay varias formas de hacer una cosa por lo que la manera más sencilla de añadir css al área de administración de WordPress sería algo como lo siguiente:

La manera anterior es totalmente válida pero a mi personalmente me gusta tener las cosas bien ordenadas y en fichero diferentes por lo que ahora lo que voy a hacer es crear un fichero dentro del directorio «css» del tema hijo para estos cambios relativos al área de administración.

Para ello utilizaré el hook ‘admin_enqueue_scripts’ y creamos la función que añadirá el fichero css que ya hemos creado en el directorio ‘css’ de nuestro tema hijo.

Y hasta aquí llega el tutorial de hoy. Espero que os sea de utilidad.

Saludos y hasta la próxima!

Crear Shortcode para restringir partes del contenido – Parte 1

Crear Shortcode para restingir el acceso a partes del contenido-parte 1

En esta ocasión vamos a ver cómo crear un shortcode para restringir partes del contenido de nuestras páginas o entradas de WordPress.

¿De qué estamos hablando?

Es posible que nos interese restringir ciertas partes de algunas página o entradas de nuestro blog por los motivos que sean.

Pero qué mejor que poner un ejemplo real, ¿Verdad?

Un ejemplo real

Os pongo el ejemplo de esta misma entrada en esta web.

Como comenté en algún artículo anterior, estamos comenzando una andadura que será larga y muy interesante en los terrenos de WordPress por lo que a parte de comentar y explicar los códigos «Snippets«, también daré la opción de descargar el mismo Snippet en formato plugin para que no tengamos nuestro fichero functions.php con tantas cosas e incluso podamos llegar a perderlo si algún día cambiamos de tema. Que pasará tarde o temprano.

Por lo tanto, al final de esta entrada daré la opción de descargar el plugin en cuestión. Ah! pero eso si! sólo para usuarios registrados.

No hay que preocuparse porque de momento es todo «by the face«. Simplemente quiero saber si esto que estoy haciendo sirve de algo y más adelante puedo montar algunos proyectos que tengo en mente y de los cuales os informaré de antemano.

Entonces el lo que os digo. cierta parte de esta entrada estará restringida a usuarios no registrados.

Esto es lo que vamos a hacer ahora.

La función que maneja el asunto

Eso es, vamos a escribir la función que maneje la lógica de este snippet o plugin.

Creamos una función que en mi caso la llamaré: «oaf-restrict-partial-content-shortcode«. Nada original, ya lo se…

function oaf_restrict_partial_content_shortcode(  ) {
}

Pues nada, ya la tenemos creada. Pero claro, habrá que escribir algo de lógica dentro, verdad?

La idea es que recoja el «contenido» y en función de que el usuario esté logueado o no, muestre una cosa u otra.

Por ejemplo, vamos a comprobar si:

  • El usuario está logueado (tiene que estar logueado para ver el contenido dentro del shortcode).
  • Si el contenido no es «null«. Es decir que tiene contenido.
  • Si no es un «feed«.

Estas son algunas de las comprobaciones que podemos realizar y para este ejemplo nos puede valer.

En posteriores tutoriales volveremos sobre este asunto para ir mejorando lo que hemos hecho.

Entonces, si el usuario está logueado Y el contenido no es «null» Y además no se trata de un «feed«, entonces la función retornará con contenido.

Pero si no es así, si no cumple alguna de las 3 condiciones anteriores, devolverá un texto en plan: «Este contenido sólo es visible para usuarios registrados. Regístrate!«.

Venga, vamos allá.

function oaf_restrict_partial_content_shortcode( $atts, $content = null ) {
	if ( is_user_logged_in() && !is_null( $content ) && !is_feed() ) {
		return $content;
	} else {
		return __( 'Upps! Este contenido sólo está disponible para usuarios registrados.', 'oaf_rpcs' );
	}
}

Es muy sencillo por lo que doy por sentado que se entiende correctamente el código.

Y el Shortcode, ¿Dónde está?

Eso es, nos falta añadir el código o función para crear el Shortcode.

Esto también es sencillo, lo único que tenemos que hacer es utilizar la función:

add_shortcode ();

Ya bueno, pero así sin más no haría nada.

Necesitamos 2 parámetros. Que son:

  • El nombre del Shortcode.
  • La función que gestiona el código del Shortcode.

Entonces:

add_shortcode ('restrict_pcs', 'oaf_restrict_partial_content_shortcode' );

Ahora si, ahora ya lo tenemos todo.

El Snippet completo

Este es el código completo de este Snippet:

Y ahora, como he prometido antes, a continuación disponéis del plugin que realiza lo mismo que el Snippet pero sin tener que incluir nada en nuestro functions.php.

Ya sabéis, lo descargáis y lo instaláis en vuestro WordPress.

Cómo usarlo

Para usar este shortcode que acabamos de crear tenemos que hacer lo mismo que con los demás shortcodes, es decir, introducir el contenido restringido dentro del comienzo y el fin del shorcode.

Por ejemplo. Si queremos restringir:  «Este contenido es super importante y tiene que estar restringido«. Haremos lo siguiente:

[restrict_pcs]Este contenido es super importante y tiene que estar restringido[/restrict_pcs]

Si el usuario está registrado y logueado, no tendrá ningún problema en ver el contenido restringido como muestro en la siguiente captura:

Plugin OAF Restrict Partial Content Shortcode
Plugin OAF Restrict Partial Content Shortcode 2

Ahora bien, si el usuario visitante no no está logueado, es decir, que no tiene cuenta en nuestro WordPress, verá el siguiente mensaje de aviso:

Perfecto. Ya lo veis!!

Bueno, al final este tutorial se a alargado un poco pero me gusta explicar las cosas poco a poco.

¿Y ya está?

Bueno, estar está. Jajaja… Pero no está ni por asomo visible o para andar enseñándolo por ahí.

Es por eso que estoy preparando una guía completa que compelte todo el proceso de la realización de este plugin. Eso sí, algunos contenidos estarán restringidos.

Haremos muchas cosas. Como por ejemplo darle un poco de estilo al mensaje, prepararlo para la traducción a otros idiomas, traducirlo al Español, Crear el «readme.txt«, etc…

Y al final de la guía realizaremos todo el proceso para publicarlo en el repositorio de http://www.wordpress.org.

¿Te animas?

Espero que te animes a seguir esta guía y otras que tengo en lista de espera.

Quiero Feedback

Pues eso, quiero que me comentéis cómo lo veis, que os gustaría que explicara mejor. Si voy muy lento, etc…

Bueno, por hoy lo dejamos aquí y ya seguiremos otro día.

Saludos y mucho ánimo!

Ver la parte 2

WooCommerce Snippet: Cambiar el icono de Paypal

WooCommerce Snippet- Cambiar icono de Paypal

Volvemos con otro WooCommerce Snippet en el que vamos a cambiar el icono que WooCommerce establece para Paypal.

Para que os hagáis una idea, os muestro el icono en cuestión:

woocommerce-snippet-cambiar-ionono-paypal-01

Si, como es el caso que muestro en el que no disponemos de pagos con tarjeta de crédito, es posible que sea mejor que el visitante no vea ese icono porque es posible que no sepa que a través de Paypal también puede pagar con tarjeta.

Pues bien, para estos casos podemos sustituir esa imagen o icon por otra imagen.

Yo voy a utilizar la siguiente imagen:

icono-paypal-tarjetas

Creo que con esta imagen el visitante puede hacerse una idea más clara de que puede pagar con tarjeta de crédito o débito a través de esta opción, ¿verdad?

La cosa es dar facilidades a los visitantes y clientes.

Esto lo vamos a hacer, como es costumbre en los snippets que estoy publicando desde hace tiempo, en el fichero functions.php aunque os recuerdo que también podemos hacerlo creando un plugin para esto en concreto.

Por cierto, habrá que empezar a hacer plugins de un momento a otro porque con tanto snippet estamos dejando el fichero functions.php a tope!

Os prometo que en breve comenzaré a publicar tutoriales para hacerlo a través de plugins e incluso daré la opción para que os los descarguéis y los instaléis tranquilamente en vuestros WordPress, WooCommerce o incluso otro tipo de plugins.

Lo más «limpio» si lo hacemos a través del fichero functions.php de nuestro tema, sería subir la imagen o icono que vamos a utilizar y colocarla en el directorio «images» de este tema pero como todo, tiene su cosa buena y cosa mala porque si cambiamos de tema, perdemos la url a la imagen sino volvemos a ubicar la imagen en el directorio «images» del nuevo tema.

Pues bien, para este ejemplo y aunque pueda parecer un poco «sucio«, voy a subirla a través del gestor de medios de WordPress. Es decir, la subiré como si de una imagen más se tratara. De hecho ya la he subido puesto que la he puesto hace un momento en este post. Utilizaré ese mismo enlace en lugar de colocar la imagen en un directorio del tema.

Si hiciéramos un plugin, estaría bien que la imagen la pudiéramos subir para cambiarla cuando queramos. Apunte: interesante para un plugin!! Apuntado queda!

De acuerdo, entonces obtenemos la url de la imagen que queremos y que hemos subido a WordPress. En mi caso es esta: https://oscarabadfolgueira.com/wp-content/uploads/2016/03/icono-paypal-tarjetas.png

Ahora lo que nos queda es encontrar el hook que nos permitirá hacer esto. Aunque os parezca mentira, existe este hook:

woocommerce_paypal_icon

Con esto queda claro que tanto WordPress como WooCommerce están repletos de Hooks. Perfecto!

Seguimos… Y como es costumbre debemos crear una función que se ejecute en este hook.

Y ¿Qué tiene que hacer esta función exactamente? Pues nada más sencillo que devolver la url de la nueva imagen que queremos que aparezca en lugar del icono que WooCommerce establece por defecto.

Esto lo haremos fácilmente así:

return "url_de_la_imagen.png";

Que en mi caso será:

return "https://oscarabadfolgueira.com/wp-content/uploads/2016/03/icono-paypal-tarjetas.png";

Hasta aquí todo bien.

Ahora creamos la función de esta manera y colocamos la línea que acabamos de indicar. Es decir, el retorno de la función.

function oaf_change_paypal_icon_image() {
     
     return "https://oscarabadfolgueira.com/wp-content/uploads/2016/03/icono-paypal-tarjetas.png";
}

Pues ya está, ya lo tenemos listo. Ahora sólo tenemos que indicar a través de «add_filter«, el hook y la función.

add_filter( 'woocommerce_paypal_icon', 'oaf_change_paypal_icon_image' );

Perfecto!!

Nos quedaría algo así:

woocommerce-snippet-cambiar-ionono-paypal-03

Queda mejor ahora, ¿o no?

Yo creo que si, que ahora el visitante o posible cliente tiene más claro que puede pagar con tarjeta a través de Paypal seleccionando esta opción.

Y como siempre, a continuación os pongo el código completo de este WooCommerce Snippet para vuestro uso y disfrute:

Bien, espero que os haya gustado este trocito de código para WooCommerce y que lo uséis cuando os haga falta.

Cualquier duda sobre este o cualquier otro tema, me los podéis hacer llegar a través del formulario de contacto o dejando un comentario.

Sin más, nos vemos en el siguiente post.

Seguid bien!!

Saludos.

WooCommerce Snippet: Excluir categorías de la lista de categorías

WooCommerce Snippet- Excluir categorías de la lista de categorías

Volvemos con otro WooCommerce Snippet para WordPress y en este caso vamos a intentar que no aparezcan ciertas categorías en la lista de categorías del correspondiente Widget.

Es posible que en alguna ocasión nos venga bien este trozo de código por lo que si os gusta, apuntadlo o guardad el enlace a esta página para tenerlo a mano.

Para no extendernos demasiado, a continuación os pongo el código del snippet y luego lo comento un poco para que lo comprendamos.

¿Que os parece?

No tiene nada del otro mundo. Simplemente se trata de utilizar los hooks correctos que en este caso son:

woocommerce_product_categories_widget_dropdown_args

Que se ejecuta en el menú desplegable del widget de lista de categorías

y

woocommerce_product_categories_widget_args

Que se ejecuta en el widget de categorías de productos como indica en su nombre.

Hasta aquí todo correcto porque no es más que encontrar los hooks correctos.

Ahora toca lo de siempre, crear la función que realice la o las tareas que necesitamos que se ejecuten en estos dos hook que acabamos de comentar.

function oaf_wc_exclude_categories_from_list_widget( $cat_args ) {
  
	$cat_args['exclude'] = array('14','17'); // array with categories ids to exclude
	return $cat_args;
}

Queda claro que la función que he preparado es: «oaf_wc_exclude_categories_from_list_widget«. Pues bien, lo que hacemos es asignar a la clave «exclude» una serie de ids que corresponden a las categorías que queremos excluir del listado de categorías.

Estas ids o aunque sólo sea una, se la pasamos en forma de array. Como podemos ver en la función, yo le estoy asignando «array(’14’, ’17’)» Con esto consigo que las categorías cuyos IDs coincidan con estos, sean excluidas de la lista y por consiguiente no aparezcan en la misma.

Pues sin más, ya está todo porque la última sentencia es el retorno de «$cat_args«.

Ya se que no hace falta que lo diga pero lo digo por si acaso. Este código lo podéis incluir en el fichero «functions.php» de vuestro tema o incluso crear vuestro propio plugin.

Espero que este snippet os sea de ayuda en un momento dado pero de todas formas, si tenéis alguna duda o queréis hacer algo parecido y no os sale bien, podéis contactar conmigo a través del formulario de contacto y estaré encantado de ayudaros en todo lo que pueda.

De la misma forma, si tenéis alguna duda sobre cualquier otra cosa sobre la que trata este blog, es decir sobre WordPress y todo lo que hay detrás, pues lo mismo, formulario de contacto.

Además, si queréis que haga algún tutorial sobre algo en concreto, lo mismo.

Venga, nos vemos en el próximo!

WordPress Snippet: Redirigir a nuevos usuarios registrados a una página específica

Wordpress Snippet - Redirigir nuevos usuarios registrados a una página específica Raw

Este snippet o trocito de código nos puede servir en aquellos casos en los que queramos redirigir a los nuevos usuarios registrados a una página específica. Generalmente será de nuestra web pero podría ser una página externa.

Podríamos utilizarlo para llevar a los nuevos usuarios a una página en la que expliquemos ciertas ventajas o servicios de nuestra empresa o a algún que otro regalito para los nuevos.

Como este Snippet es muy sencillo, dejo el código a continuación:


Como siempre, este código lo podemos incluir en el fichero functions.php de nuestro tema o crear nuestro propio plugin.

También como siempre os invito a que me hagáis llegar vuestras dudas sobre este y cualquier otro tutorial o artículo que haya publicado e incluso a proponerme algún otro artículo que os pueda ser de interés.

Saludos y seguimos!

WordPress Snippet: Establecer el número de revisiones en WordPress

WordPress Snippets - Establecer el numero de revisiones

Esto va a ser rápido.

No es un Snippet propiamente dicho pero bueno…

Ya sabréis que WordPress guardar revisiones de los posts que publicamos cada vez que hacemos una modificación y guardamos de nuevo el post.

A continuación, una imagen de la sección de revisiones:

Establecer el numero de resiviones de las entradas en WordPress

Esta sección está disponible dentro de cada post o página pero si no conseguís verlo tal vez sea porque no habéis activado el check correspondiente en las opciones de pantalla que está en el parte superior:

Establecer el numero de resiviones de las entradas en WordPress - 02
Establecer el numero de resiviones de las entradas en WordPress - 03

Ahora lo tenemos claro y si alguna vez lo hemos mirado, tal vez hayamos visto varias revisiones dependiendo de post y de lo que hayamos trabajado con el.

Pues bien, si queremos establecer un número máximo de revisiones para que no tengamos un ciento o más, podemos hacerlo modificando el fichero «wp-config.php» de nuestra instalación de WordPress.

Bien, para establecer el número de revisiones a «3» pondremos lo siguiente:

define('WP_POST_REVISIONS', 3);

Modificad el «3» por el número de revisiones que queráis y listo.

Ah!!

Debemos incluirlo por encima de «ABSPATH» porque de lo contrario no funcionará.

Espero que os sea de utilidad.

En otro tutorial veremos cómo desactivar por completo las revisiones.

Cualquier duda que tengáis sobre esto o cualquier otra cosa relacionada con la temática de este blog, me la podéis hacer llegar a través del formulario de contacto o escribir un comentario.

Venga, hasta la próxima!

WooCommerce Snippet: Cambiar el texto «Añadir al carrito»

WooCommerce Snippet- Cambiar el texto -Añadir al carrito-

Continuamos con los Snippets para WooCommerce y es que hay muchísimas cosas que se pueden modificar para dejarlo o adaptarlo a nuestras necesidades y gustos.

En este caso vamos a modificar el texto que aparece en el botón «Añadir al carrito» tanto en la lista de categorías de productos como en la página de producto simple. Si, son dos cosas diferentes y debemos utilizar dos hooks diferentes aunque la función sea la misma.

Y para ver lo que vamos a hacer, os pongo un par de imágenes a continuación con el «antes» y el «después«:

Para el caso de las lista de productos:

WC Snippet - cambiar texto -Añadir al carrito-

Y para el caso de las página de producto:

WC Snippet - cambiar texto -Añadir al carrito- - 02

Se ve claro, verdad?

No, si ya digo yo que a veces una imagen vale más que mil palabras. Vale, que no me lo he inventado yo, pero se entiende…

Bien, comenzamos y como siempre lo hacemos recurriendo al hook que necesitamos. Bueno, a los hooks, porque en este caso vamos a utilizar dos hooks. Uno para el listado de productos y otro para las páginas de producto.

Para las paginas de listado de productos utilizaremos el siguiente hook:

woocommerce_product_add_to_cart_text

Y para las páginas de producto el siguiente:

woocommerce_product_single_add_to_cart_text

Y ahora, como ya sabemos de otras veces, creamos los filters asi:

add_filter( 'woocommerce_product_add_to_cart_text', 'oaf_wc_change_add_to_cart_text' );
add_filter( 'woocommerce_product_single_add_to_cart_text', 'oaf_wc_change_add_to_cart_text' );

Hasta aquí nada del otro mundo, simplemente hemos utilizado un par de hooks.

Ahora procedemos a crear la función que se ejecutará en estos filters.

Seguro que te has dado cuenta que el la función es la misma, verdad? No pasa nada, el proceso que tenemos que hacer en ambos hooks es el mismo por lo que no necesitamos crear dos funciones diferentes.

Pues bien, creamos la función:

function oaf_wc_change_add_to_cart_text() {
  
  return __('¡Comprar Ya!', 'woocommerce');
}

Si, ya, no tiene nada del otro mundo pero es que es así.

Simplemente modificamos el texto.

Hemos utilizado la función de traducción.

A continuación pongo el código completo de este Snippet:

Pues ya está.

Espero que os sea de utilidad y recordad que este Snippet lo podéis incluir en el fichero «functions.php» de vuestro Tema o crear vuestro propio Plugin para el.

Cualquier duda me la podéis comentar a través del formulario de contacto o dejándome un comentario en este artículo.

Venga, seguimossss!

WordPress Snippet: Establecer un mínimo de caracteres al comentar

WordPress Snippets - Establecer un mínimo de caracteres al comentar

En ocaciones vemos comentarios por la web que simplemente dicen «Ok«, «Buen trabajo«, «Buen tutorial«, etc..

Es posible que con esto nos baste pero también es posible que no nos interesen eso comentarios tan cortos y que necesitemos establecer algún mecanismo para establecer un mínimo de caracteres en los comentarios y así forzar al usuario que comenta a explayarse un poco más.

Pues bien, para trabajar con lo comentario disponemos del hook: «preprocess_comment» que más o menos nos hacemos una idea de en qué momento se ejecuta.

Lo que haremos será modificar el tamaño mínimo establecido para comentarios utilizando el hook que acabamos de comentar.

add_filter( 'preprocess_comment', 'set_minimal_length_for_comments' );

Llamaremos a la función que se ejecutará en el filter hook «preprocess_comment» como: «set_minimal_length_for_comments«.

Pues bien, nos ponemos manos a la obra creando la función de momento:

function set_minimal_length_for_comments( $comment ) {
    return $comment;
}

Esta parte de momento la entendemos bien. La función recibe el comentario en una variable y al final de la función la devuelve, eso si, después de hacer unos procesos que le indicaremos.

    $min_length = 15;
    if ( strlen( trim( 'comment_content'] ) ) < $min_length ){
        wp_die( 'Los comentarios deben ser por lo menos de ' . $min_length . ' caracteres.' );
    }

Establecemos 15 como número mínimo de caracteres que deben tener los comentarios y posteriormente comprobamos si la longitud (en caracteres) del comentario es menor que 15. Si es así, muestra un aviso al usuario que está realizando el comentario.

Por lo tanto, ahora cuando alguien intente publicar un comentario corto como este:

wp-snippet-establecer-minimo-caracteres-comentario-01

No le dejará publicar el comentario y le mostrará un mensaje de aviso como el siguiente:

wp-snippet-establecer-minimo-caracteres-comentario-02

A continuación pongo el código completo de este Snippet:

Lo podéis utilizar simplemente incluyendo el código en el fichero «functions.php» de vuestro Tema o si lo queréis, podéis crear vuestro propio plugin.

Cualquier duda u observación me la podéis hacer llegar a través del formulario de contacto, a través de un comentario o en las redes sociales.

Espero que os sea de ayuda.

Saludos y hasta el próximo!

Ir al contenido