• Ir a navegación principal
  • Ir al contenido principal
  • Ir a la barra lateral primaria
  • Ir al pie de página

Dani Sánchez - Gestionatuweb

Desarrollador web freelance - Dani Sánchez Gestionatuweb

  • ¿Eres agencia?
  • WordPress
    • Mantenimiento
    • Desarrollo
    • Soporte técnico
  • Cursos
  • Porfolio
  • Blog
  • Contacto
  • Solicita Presupuesto
Estás aquí: Inicio / Publicaciones / Modificar textos predefinidos de WordPress sin editar la traducción

Publicaciones, Tutoriales, Wordpress / 30 de agosto de 2018

Modificar textos predefinidos de WordPress sin editar la traducción

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 🙂

Archivado en:Publicaciones, Tutoriales, Wordpress Etiquetado con:desarrollo web, php, programación web, publicaciones, tutoriales, wordpress

Interacciones con los lectores

Este artículo puede contener código que podría no funcionar correctamente en tu versión de WordPress o causar incompatibilidad con tu plantilla o plugins. Úsalo bajo tu responsabilidad y haz siempre copia de tus archivos antes de modificarlos.

Comentarios

  1. Damian dice

    2 de junio de 2020 en 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.

    Responder
  2. Consultor SEO en Tijuana dice

    10 de noviembre de 2020 en 13:02

    Me acabas de salvar de un problema que tenia!

    Muchas gracias por el artículo.

    Responder
    • dani dice

      11 de noviembre de 2020 en 09:47

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

      Responder
  3. Infomercantil dice

    27 de noviembre de 2020 en 20:23

    Grande!

    Responder

Deja una respuesta Cancelar la respuesta

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

  Acepto la política de privacidad

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral primaria

Daniel Sánchez

@danisanchez82
t.me/gestionatuweb

Buscar en la web

Entradas recientes

  • Adiós WhatsApp…
  • Configuración de WP Fastest Cache
  • Cómo añadir un enlace personalizado en el menú admin de WordPress
  • Hooks de Genesis Framework (init, header y framework) – Parte 1
  • Añade el soporte de Genesis Framework para tus Custom Post

Categorías

  • Actualidad
  • Destacado
  • Divi
  • Drupal
  • Elementor
  • Genesis
  • Joomla!
  • Linux
  • Publicaciones
  • Tutoriales
  • WooCommerce
  • Wordpress

Comentarios recientes

  • Lizeth en Calcular rutas con OpenStreetMap partiendo de la geolocalización del usuario
  • dani en Instalar WordPress en Linux, particularidades y permisos de carpetas
  • dani en Calcular rutas con OpenStreetMap partiendo de la geolocalización del usuario
  • jhusting en Instalar WordPress en Linux, particularidades y permisos de carpetas
  • Luis CA en Calcular rutas con OpenStreetMap partiendo de la geolocalización del usuario

Hosting de confianza

Footer

Buscar en la web

  • Inicio
  • Agencias
  • Mantenimiento WordPress
  • Desarrollo WordPress
  • Soporte técnico WordPress
  • Cursos
  • Portfolio
  • Blog
  • Contacto
  • Política de privacidad

Mis redes

  • Facebook
  • LinkedIn
  • Twitter
  • YouTube

© 2016–2021 Gestionatuweb · Programado con Genesis Framework · Iniciar sesión

Utilizo cookies para obtener datos estadísticos sobre el uso de mi sitio web y personalizar la publicidad (no intrusiva) del blog según tus intereses. En ningún caso estas cookies te identifican como persona, solo a tu dispositivo en la Red. Aceptando el uso de cookies me ayudarás a mantenener el blog gracias a la publicidad y podré mejorar la experiencia de uso gracias a la analítica web. Puedes navegar por mi sitio web sin que se instale ninguna de estas cookies, aunque este mensaje permanecerá visible en todo momento.AceptoPolítica de privacidad