Por defecto, WordPress permite configurar cómo se comportan las imágenes al hacer clic en ellas. Si tus imágenes se abren en una nueva pestaña o ventana emergente (lightbox), puedes cambiar este comportamiento mediante código para que se abran en la misma pestaña.
Eliminar target=»_blank» de los Enlaces de Imágenes
Para forzar que todos los enlaces de imágenes se abran en la misma pestaña, agrega este código al archivo functions.php de tu tema:
// Eliminar target="_blank" de enlaces de imágenes
function remove_target_blank_images($content) {
// Buscar enlaces con target="_blank"
$content = str_replace('target="_blank"', '', $content);
$content = str_replace("target='_blank'", '', $content);
return $content;
}
add_filter('the_content', 'remove_target_blank_images');
Desactivar Lightbox por Defecto
Si tu tema incluye un efecto lightbox que abre las imágenes en ventanas emergentes, puedes desactivarlo con este código:
// Desactivar lightbox en imágenes
function disable_image_lightbox($content) {
// Eliminar atributos rel comunes de lightbox
$content = preg_replace('/rel="lightbox[^"]*"/', '', $content);
$content = preg_replace('/data-lightbox[^>]*/', '', $content);
return $content;
}
add_filter('the_content', 'disable_image_lightbox');
Configurar Enlaces de Imagen Manualmente
Al insertar imágenes en tus posts, asegúrate de configurar correctamente el enlace:
- Selecciona la imagen en el editor de bloques
- Haz clic en el icono de enlace en la barra de herramientas
- Elige «Archivo multimedia» para que el enlace apunte a la imagen completa
- NO marques la opción «Abrir en una pestaña nueva»
Solución Completa con JavaScript
Para una solución más robusta que afecte a todas las imágenes del sitio, puedes usar este código en functions.php:
// Forzar enlaces de imágenes a abrirse en la misma pestaña
function force_same_tab_images() {
?>
<script type="text/javascript">
document.addEventListener('DOMContentLoaded', function() {
// Seleccionar todos los enlaces que contengan imágenes
var imageLinks = document.querySelectorAll('a img');
imageLinks.forEach(function(img) {
var link = img.parentElement;
if (link.tagName === 'A') {
link.removeAttribute('target');
link.setAttribute('target', '_self');
}
});
});
</script>
<?php
}
add_action('wp_footer', 'force_same_tab_images');
Recomendaciones
Utiliza siempre un tema hijo para aplicar estos cambios. De esta forma, tus modificaciones no se perderán al actualizar el tema principal. Si usas un plugin de galería o lightbox, verifica su configuración antes de aplicar estos códigos, ya que algunos plugins tienen sus propias opciones para controlar este comportamiento.