8 fragmentos de código útiles para tu WordPress

Publicada en WordPress.

Mira nuestro vídeo

Existe una versión mejor de tu web

Comparte este artículo

WordPress nos facilita un montón la vida si queremos manejar una web con facilidad. Prácticamente cualquiera es capaz de administrar un WordPress mínimamente con tan solo unas cuantas explicaciones mínimas. Además, podemos usar un montón de plugins para ir ampliando las funcionalidades a medida que nuestras necesidades van cambiando.

Sin embargo, no siempre es necesario instalar un plugin para realizar algún cambio en nuestra configuración básica de WordPress. Suele ser mucho más eficiente el uso de pequeños fragmentos de código que podemos añadir a nuestra instalación cuando lo que queremos cambiar es algo mínimo. Ya se sabe que algunos plugins están programados en arameo y rompen más cosas de las que solucionan.

Por suerte, en esta entrada te voy a dejar unos cuantos fragmentos de código que solucionan problemas bastante comunes en WordPress. Échales un ojo y si alguno te sirve no dudes en probarlo y comentar tu experiencia.

Y si no tienes ni idea de PHP ni eres un crack de la programación no pienses que esta entrada no es para ti. La verdad es que no necesitas muchos conocimientos para poder usar los fragmentos de código que encontrarás a continuación. Son muy sencillos de entender y te evitarán usar plugins.

Cómo usar los fragmentos de código

Podemos usar los fragmentos de código siguientes de varias maneras. La más sencilla de todas es abrir el archivo functions.php de tu tema y pegar ahí directamente el fragmento de código concreto que quieras usar (recuerda no poner la etiqueta <?php que hay en la primera línea para evitar problemas).

Sin embargo, si te decantas por esta opción ten en cuenta que cuando actualices tu tema perderás los cambios que hayas hecho en functions.php y tendrás que volver a aplicarlos. Para evitar que esto pase deberías usar un tema hijo y añadir los cambios en el functions.php del hijo.

Otra opción, si eres más experto, es crear un plugin mínimo que incluya el fragmento de código deseado. Será mucho más ligero que usar un plugin del repositorio de WordPress. Recuerda que en entradas anteriores ya te hemos explicado cómo puedes modificar WordPress de esta manera.

Captura del plugin Code Snippets para WordPress.
Captura del plugin Code Snippets para WordPress.

Si aún así no te sientes cómodo con ninguna de estas opciones puedes instalar el plugin Code Snippets para WordPress. Este plugin te va a permitir añadir los fragmentos de código siguientes directamente desde una interfaz gráfica dentro del Escritorio de WordPress. Es la opción más básica, aunque no demasiado eficiente.

Fragmentos de código para WordPress

Veamos a continuación los fragmentos de código que pueden serte de gran utilidad en tu WordPress.

1. Cambiar el tamaño de los extractos

Si alguna vez te quisiste reducir o aumentar el número de palabras que aparecen en los extractos de las entradas de tu WordPress, pero no supiste cómo hacerlo, aquí tienes la solución.

El fragmento anterior permite configurar el número de palabras que se muestran en los extractos. Tan solo copia el código y cambia el número (30, en el ejemplo) por el que tu quieras de acuerdo a tus necesidades. Así de simple.

2. Redireccionar a los usuarios nuevos

Cuando un nuevo usuario se registra en tu WordPress, es posible que quieras conseguir que visite una cierta página de tu web. Con este pequeño fragmento de código conseguirás crear una redirección en WordPress que afecta a los nuevos registros.

Recuerda modificar la línea número 4 del código para que la redirección se haga a la dirección web que desees.

3. Eliminar el campo URL de los comentarios

En WordPress los usuarios que quieren enviar un comentario en una entrada han de indicar un nombre, una dirección de correo electrónico, y una dirección web. Habitualmente el campo de la dirección web es opcional y posiblemente sea más un foco de spam que de información útil para el resto de visitantes.

Para eliminar este campo del formulario, sólo tienes que usar el código anterior. Fíjate que la función elimina_campos_form_comentarios recibe los campos del formulario ($fields) y lo único que hace es quitar el campo URL. Este mismo código te sirve si quieres quitar también otro campo de este formulario.

4. Cambiar el número de resultados de la página de búsquedas

Al igual que en el caso del fragmento en el que modificábamos la longitud de los extractos de las entradas, este fragmento de código PHP modifica el número de resultados que una búsqueda mostrará en la página de resultados de WordPress.

En el ejemplo limitamos el resultado a 10, pero puedes cambiar esto por el número que desees y así adaptarlo a tus necesidades.

5. Activar el modo de mantenimiento

Si vas a realizar cambios en profundidad en tu WordPress o quieres evitar que los visitantes accedan a tu contenido puedes activar el modo de mantenimiento.

Añadiendo este fragmento de código bloquearás el acceso a tu web, mostrando simplemente el mensaje ‘Estamos en mantenimiento. Vuelve pronto.’, que puedes cambiar por el texto que tu quieras.

6. Desactivar menús del Escritorio

Si has tenido que montar un WordPress para usuarios inexpertos habrás temido que estos toquen algo que pueda destrozar la web. Afortunadamente, con el siguiente fragmento de código podemos ocultar los menús del Escritorio que mostramos a los usuarios.

Todos los menús cuyo nombre esté incluido en la variable $restricted de la línea 4 quedaran ocultos. En el ejemplo ocultamos los menús Escritorio, Apariencia, Herramientas, Configuración y Plugins, que seguramente sean los más conflictivos. Pero puedes cambiar esto a tu parecer.

7. No dejar publicar si no hay una imagen destacada

Hace un tiempo te hablé de cómo parar la publicación de entradas que no cumplían ciertas condiciones. En concreto, si lo que quieres es evitar que tus autores publiquen sus contenidos si no han añadido una imagen destacada, lo que tienes que hacer es usar este fragmento:

Además de evitar la publicación mostrarás un mensaje de aviso indicando al autor que no se ha publicado el contenido porque no ha incluido una imagen destacada previamente. Una vez la incluya ya podrá publicar la entrada sin problemas.

8. Usar tu propio logo en la página de login

Si quieres personalizar la página de login de tu WordPress para que tus usuarios vean tu logo y no el logo de WordPress, aquí tienes el código que te permite hacerlo.

Lo que tienes que cambiar es la dirección de la imagen que quieres usar como logo. Para ello en el ejemplo anterior suponemos que tendrás esa imagen dentro del directorio /images/ de tu tema actual y su nombre será mi-logo.gif. Pero puedes cambiar todo lo que hay dentro de url('') y poner una URL completa que apunte a la imagen que quieres usar.

Resumen final

En esta entrada has podido comprobar que muchas veces es mejor añadir un pequeño fragmento de código para solucionar un problema o añadir una funcionalidad extra que tener que instalar un plugin.

Te he descrito ocho pequeños fragmentos que seguro te interesará guardar para tenerlos a mano cuando los necesites en tu WordPress. Y lo mejor de todo es que hay muchos más.

Si necesitas algún fragmento concreto que no he incluido en esta entrada, siempre puedes visitar páginas como WPSnipp, WP-Snippets o WP Function Me. O bien puedes dejarnos un comentario e intentaremos ayudarte en la medida de lo posible.

Imagen destacada de wiredforlego

21 comentarios en «8 fragmentos de código útiles para tu WordPress»

  1. El código de cambiar el tamaño de los extractos me parece muy interesante, en algunos temas de WordPress es casi necesario cambiarlo y si funciona este código para todos está genial.

    1. Gracias por el artículo. Era justo lo que necesitaba. Ahora lo que me falta resolver es que me gustaría ampliar los extractos, pero que en la primera pagina se lea todo el primer parrafo y no se corte al llegar a las 40 palabras, es decir, quiero que termine la oración. Cómo puedo hacerlo?

  2. He «caído» en vuestro blog y me está gustando mucho, enhorabuena, me quedo con algún código de los que proponéis. Gracias

  3. Gracias Antonio Villegas, me gustó mucho los snippet q propones. Realmente estoy buscando un snippet que me permita capturar el valor del contenido de búsqueda de los usuarios. Es que estoy realizando en mi universidad un Sistema de Analítica Web y quiero adaptarle la funcionalidad de visualización de las búsquedas internas y no le encuentro. ¿Si me puedes ayudar con ello por favor? Gracias de ante mano. Saludos y sigue así!!!

  4. todos muy interesantes. Yo venia buscando como ocultar los nombres de los plugins. Cuando tu le das a una web botón derecho y le das a ver código fuente de la página, te sale los nombres de todos los plugin que usas y a mi me gustaria que no aparecieran. si alguien sabe como le agradeceria me indique. un saludo y enhorabuena por el articulo

    1. Hola Maria. Esto que me preguntas es bastante raro. Si vas a ver el código fuente de tu página verás los scripts o estilos que esos plugins necesitan. Si los ocultas, esos plugins dejarán de funcionar. La verdad es que no acabo de entender porqué querrías ocultar eso 🤔

  5. Hola,

    yo queria cambiar/traducir el titulo del carrito, es decir, cambiar el «you have 1item…» por texto e castellano.
    Rebuscando he visto que con mi pantilla avada tengo que editar un fichero.php y el codigo nuevo a insertar seria algo asi:

    add_action( ‘woocommerce_before_cart_table’, ‘avada_woocommerce_before_cart_table’, 20 );

    function avada_woocommerce_before_cart_table( $args ) {
    global $woocommerce;
    $html = »;

    if ( $woocommerce->cart->get_cart_contents_count() == 1 ) {
    $html .= » . sprintf( __( ‘You Have %d PRODUCTOIn Your Cart’, ‘Avada’ ), $woocommerce->cart->get_cart_contents_count() ) . »;
    } else {
    $html .= » . sprintf( __( ‘You Have %d PRODUCTOS In Your Cart’, ‘Avada’ ), $woocommerce->cart->get_cart_contents_count() ) . »;
    }
    echo $html;
    }

    Pero sin embargo el resultado a sido que ahora tengo el texto en castellano y el original….

    Sabes como podría solucionar esto? ¿eliminar el primer valor guardado? Aquí me he quedado atascado…

    Un saludo y gracias por adelantado.

  6. Hola,

    gracias por la rápida contestación, pero creo que no me sirve. Tengo casi todo traducido con Loco, pero ese texto al estar incrustado directamente en el fichero.php no me lo coge.

    Se que editando el fichero php directamente ya lo conseguiría, pero por no andar pendiente en próximas actualizaciones de la plantilla de andar tocando ese fichero, quería ponerlo como snippet.

    Un saludo y gracias por todo.

    1. Si esa cadena de texto no te sale como traducible tendrás que contactar con el desarrollador del tema para que la añada y así la puedas traducir. Como dices, si modificas el tema directamente en próximas actualizaciones perderás los cambios. Otra opción es hacer un tema hijo de ese tema copiando la función PHP que quieres tocar y modificándola ahí.

  7. Hola. Tienes algún código, no para limitar los resultados de búsquedas, sino para desactivar por completo esa opción? Quizá poniendo (0) en ese código? Y en qué parte, exactamente, se debe introducir ese código?

    1. Si no quieres que esté la opción de búsqueda, quítala directamente del HTML del tema. Creo que es la mejor opción. De otro modo, parecerá que la búsqueda está rota si siempre da cero resultados.

  8. Hola antonio quisiera saber como redireccionar una usuario que no tiene permiso de entrar a una url en especifico y aun asi si se sabe la direccion y la pone entra.
    ejemplo tengo una web y tengo los menus diferenciados por roles pero si el usuario se sabe la direccion de la pagina la pone y da acceso

Deja una respuesta

No publicaremos tu correo electrónico. Los campos obligatorios están marcados con: •

He leído y acepto la Política de privacidad de Nelio Software

Al marcar la casilla de aceptación estás dando tu legítimo consentimiento para que tu información personal se almacene en SiteGround y sea usada por Nelio Software con el propósito único de publicar aquí este comentario. Contáctanos para corregir, limitar, eliminar o acceder a tu información.