Programador WordPress

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

25 respuestas a «8 fragmentos de código útiles para tu WordPress»

  1. Avatar de José Manuel

    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. Avatar de Antonio Villegas

      Gracias por el comentario, José Manuel. Pues ya sabes, a probarlo. Y si tienes algún problema ya nos dices.

    2. Avatar de claudia Morán cid
      claudia Morán cid

      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?

      1. Avatar de Antonio Villegas

        Eso depende de tu tema. Tendrás que mirar el código fuente para modificarlo.

  2. Avatar de Enrique Camba

    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

    1. Avatar de Antonio Villegas

      Gracias por tu comentario Enrique. Espero que te sirva lo que vayas encontrando.

  3. Avatar de Josué
    Josué

    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í!!!

    1. Avatar de Antonio Villegas

      Deberías estudiar esto: https://codex.wordpress.org/Template_Tags/get_search_query

      Y también este condicional: https://codex.wordpress.org/Function_Reference/is_search

      Según lo que necesites, esto debería ser de utilidad.

  4. Avatar de Maria
    Maria

    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. Avatar de Antonio Villegas

      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. Avatar de Khalil
    Khalil

    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.

    1. Avatar de Antonio Villegas

      Si lo que quieres es una traducción, lo que has de hacer es añadir la traducción al español. Tienes más instrucciones para tu tema aquí.

  6. Avatar de Khalil
    Khalil

    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. Avatar de Antonio Villegas

      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. Avatar de Sagit
    Sagit

    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. Avatar de Antonio Villegas

      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. Avatar de javiel
    javiel

    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

    1. Avatar de Antonio Villegas

      No se que estás utilizando, pero si quieres bloquear contenidos puedes utilizar Restrict Content Pro. Si quieres algo más complejo, mírate plugins para membership sites.

  9. Avatar de Miriam
    Miriam

    Hola Antonio estoy buscando un código para redireccionar al cliente a la pagina de registro antes de pagar la compra. Es decir cuando estas en el carrito si le das al botón «finalizar compra» que te lleve obligatóriamente a la página de registro de usuarios o inicio de sesión y cuando te registres puedas finalizar la compra. No encuentro mucho sobre ese tema. Si me puedes ayudar con el código te lo agradecería. Saludos,

    1. Avatar de Antonio Villegas

      Depende de qué sistema de compras utilices. En caso de que sea WooCommerce, esto te puede servir.

  10. Avatar de imber
    imber

    Hola, como hago que el codigo CSS o php de un Snippet se aplique solo en un URL especifica, o que se aplique en todas las entradas, pero no en el resto de la web?

    1. Avatar de Antonio Villegas

      Utiliza condicionales que envuelvan tu código. Para el tema de la URL, mírate $_SERVER[‘REQUEST_URI’]. Para aspectos más generales, tienes los conditional tags de WordPress.

Deja una respuesta

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

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

Tus datos personales se almacenarán en SiteGround y serán usados por Nelio Software con el único objetivo de publicar tu comentario aquí. Con el envío de este comentario, nos das el consentimiento expreso para ello. Escríbenos para acceder, rectificar, limitar o eliminar tus datos personales.