• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

Dani Sánchez

  • ¿Eres agencia?
  • Quién soy
  • Servicios WordPress
    • Mantenimiento
    • Maquetación
    • Soporte técnico
  • Máster en WordPress
  • Portfolio
  • Blog
  • Presupuestos
Estás en: Inicio / Publicaciones / Modificar textos predefinidos de WordPress sin editar la traducción

Modificar textos predefinidos de WordPress sin editar la traducción

El 30 de agosto de 2018 por dani.sanchez

En muchos proyectos nos vemos con la necesidad de modificar algunos de los textos que vienen predefinidos en WordPress, bien porque nos los pida nuestro cliente, o bien porque queramos dirigirnos a nuestro público de alguna forma concreta, por ejemplo, los textos predefinidos en WordPress «tutean» al usuario, y es posible que nosotros queramos tener un tratamiento de «usted».

Por ejemplo, en el formulario de login de WordPress tenemos el texto predefinido «¿Olvidaste tu contraseña?»:

Si quisieramos cambiar este texto por «¿Olvidó su contraseña?», podríamos hacerlo con una sencilla función que aplicaríamos en el archivo functions.php de nuestro tema activo, o en nuestro propio plugin de funciones en caso de tenerlo creado.

La función en cuestión sería:

function sustitucion_textos_predefinidos($traduccion){
    $palabras = array(
        '¿Olvidaste tu contraseña?' => '¿Olvidó su contraseña?',
    );
    $traduccion = str_ireplace(array_keys($palabras), $palabras, $traduccion);
    return $traduccion;
}
add_filter('gettext', 'sustitucion_textos_predefinidos');
add_filter('ngettext', 'sustitucion_textos_predefinidos');

Simplemente tenemos que meter en el array $palabras, todas las cadenas de texto que queremos sustituir, donde primero insertamos la cadena tal cual viene en WordPress:

‘¿Olvidaste tu contraseña?’ y asignamos con «=>» la cadena de sustitución ‘¿Olvidó su contraseña?’.

También podemos cambiar cualquier elemento dentro del Panel de Control de WordPress, supongamos por ejemplo, que vamos a adaptar un WordPress para que lo gestione nuestro cliente y queremos cambiar varios elementos del menú, como por ejemplo, sustituir Medios por «Imágenes», o el botón de Añadir Objeto por «Añadir Imágenes»

Solo tenemos que añadir todas las líneas que deseemos cambiar:

function sustitucion_textos_predefinidos($traduccion){
    $palabras = array(
        '¿Olvidaste tu contraseña?' => '¿Olvidó su contraseña?',
        'Medios' => 'Imágenes',
        'Añadir Objeto' => 'Añadir Imágenes',
    );
    $traduccion = str_ireplace(array_keys($palabras), $palabras, $traduccion);
    return $traduccion;
}
add_filter('gettext', 'sustitucion_textos_predefinidos');
add_filter('ngettext', 'sustitucion_textos_predefinidos');

Como vemos en la función, todas las cadenas de texto que pasemos al array, pasarán por la función str_ireplace(), que localizará la cadena original y la reemplazará por la que le indicamos, sin tener que tocar archivos internos de WordPress ni modificar la traducción.

Espero que haya sido de utilidad el artículo y nos vemos en el siguiente post 🙂

Publicado en: Publicaciones, Tutoriales, WordPress Etiquetado como: desarrollo web, php, programación web, publicaciones, tutoriales, wordpress

¿Quiéres invitarme a un café?

Si te has fijado en este blog no hay ni rastro de publicidad, todo el contenido publicado lo hago de forma artruista al igual que yo recurro a otros sitios cuando necesito algo. Pero si te he servido de ayuda y quieres agradecérmelo, puedes hacer una pequeña donación (el importe que quieras):

Entradas similares

  • Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose
  • Instalar LAMP (Linux, Apache, MySQL, PHP) en Opensuse Tumbleweed
  • PRO Elements, o como tener Elementor Pro libre y gratuito
  • Tip para Elementor: Alinea elementos de forma óptima
  • Habilitar el soporte de Wayland en Firefox

Interacciones con los lectores

Comentarios

  1. Damian dice

    2 de junio de 2020 a las 00:16

    Hola,
    Como se pueden modificar los nombres de aquellos botos que se encuentran por defecto en las paginas porque desde las opciones hay algunos botones que no aparecen como asi tambien algunos textos.

  2. Consultor SEO en Tijuana dice

    10 de noviembre de 2020 a las 13:02

    Me acabas de salvar de un problema que tenia!

    Muchas gracias por el artículo.

    • dani dice

      11 de noviembre de 2020 a las 09:47

      Gracias, muchos blogs me salvan a mí a diario, esta es mi pequeña contribución. Saludos.

  3. Infomercantil dice

    27 de noviembre de 2020 a las 20:23

    Grande!

  4. Ernesto dice

    1 de junio de 2021 a las 08:09

    Hola Dani,

    Gran aporte!!!

    Solo comentarte que te falta cerrar el paréntesis de «str_ireplace(» en la segunda función.

    • dani dice

      1 de junio de 2021 a las 08:13

      Hola, gracias por el aviso! Ya está corregido. Saludos.

  5. Alejandro dice

    9 de junio de 2021 a las 17:17

    ej: Detalles de Pedido #2323 este texto lo ingreso de esta forma pero no funciona: ‘Detalles de Pedido’ => ‘Detalles’,

    • dani dice

      10 de junio de 2021 a las 07:37

      Puede que en este caso, al contener el texto una variable (nº de pedido) no funcione con este método, y tengas que editarlo en los archivos de traducción de WooCommerce (los archivos po/mo). En este momento no tengo tutoriales de cómo editarlos, pero hay mucha información en la red.

  6. iñaki dice

    3 de septiembre de 2021 a las 15:20

    Muy buen tutorial.
    ¿Se podía cambiar el enlace de estos textos? que al pulsar ¿olvidó su contraseña? nos lleve a otra página definida por nosotros.

    Quiero que el texto sea «apuntarme» y dirija a la página de suscripción.

    Muchas gracias

    • dani dice

      3 de septiembre de 2021 a las 16:18

      Gracias por tu mensaje. No, la función solo afecta a la cadena de texto no a su enlace.

      Para cambiar el enlace del link échale un ojo a este filtro: https://developer.wordpress.org/reference/hooks/lostpassword_url/

      Saludos.

  7. Leo dice

    6 de abril de 2022 a las 15:29

    Excelente aporte, le dí uso al código pero hay una cadena que no cambia, cambia lo que contiene pero no la principal, me refiero a «Entradas», tendrás data sobre esto?.
    Mil gracias!

Barra lateral principal

Autor

Dani Sánchez

logo mastodon @danisanchez

Entradas recientes

  • Importar un proyecto WordPress en un contenedor Docker
  • Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose
  • Instalar LAMP (Linux, Apache, MySQL, PHP) en Opensuse Tumbleweed
  • PRO Elements, o como tener Elementor Pro libre y gratuito
  • Tip para Elementor: Alinea elementos de forma óptima

Comentarios recientes

  1. Laura en Habilitar el soporte de Wayland en Firefox
  2. Laura en Habilitar el soporte de Wayland en Firefox
  3. Denys Vega en Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose
  4. Ramon Tubau en Evitar que WordPress pida los datos FTP al instalar o actualizar un plugin o tema en localhost
  5. Ramon Tubau en Evitar que WordPress pida los datos FTP al instalar o actualizar un plugin o tema en localhost

Categorías

  • Actualidad
  • Afiliación AliExpress
  • Agent Press Pro
  • Bettaso Web Restaurantes
  • Cursos
  • Destacado
  • Divi
  • Drupal
  • Elementor
  • Genesis
  • Iniciación a PHP
  • Joomla!
  • Linux
  • Publicaciones
  • Tutoriales
  • WooCommerce
  • WordPress

Maquetación web, landings, blogs y tiendas online
cuidando hasta el mínimo detalle

Si necesitas que desarrolle tu proyecto web ponte en contacto conmigo.

Contacto
  • Mastodon
  • YouTube
  • LinkedIn

Dani Sánchez © 2023 · Política de privacidad · Política de cookies

En mi sitio web utilizo cookies de carácter técnico para el correcto funcionamiento de la plataforma. Además de cookies analíticas de terceros para obtener datos estadísticos sobre el uso de la web, con el fin de mejorar la experiencia de navegación y conocer qué contenidos son los más consultados. Puedes desactivar todas las cookies (excepto las técnicas) pulsando en Rechazar, o elegir qué cookies admites y cuales no, en el botón de Preferencias. Más información sobre el uso de cookies en la: Política de cookies.

Powered by  GDPR Cookie Compliance
Resumen de privacidad

En mi sitio web utilizo cookies de carácter técnico para el correcto funcionamiento de la plataforma. Además de cookies analíticas de terceros para obtener datos estadísticos sobre el uso de la web, con el fin de mejorar la experiencia de navegación y conocer qué contenidos son los más consultados. Puedes desactivar todas las cookies (excepto las técnicas) pulsando en Rechazar, o elegir qué cookies admites y cuales no, en el botón de Preferencias. Más información sobre el uso de cookies en la: Política de cookies.

Cookies técnicas necesarias

Las cookies técnicas necesarias tienen que activarse siempre para poder guardar tus preferencias de ajustes de cookies.

Si desactivas esta cookie no se pueden guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.

Cookies analíticas

Utilizo Google Analytics para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

Dejar este tipo de cookies activas me permite mejorar la web y mis servicios.

¡Por favor, activa primero las cookies estrictamente necesarias para que podamos guardar tus preferencias!

Política de cookies

Más información sobre la política de cookies