Cómo agregar contenidos adicionales a páginas gracias a los filtros the_title y the_content

Cuando hacemos desarrollos a medida, nos encontramos con la necesidad de añadir contenido en ciertas partes o secciones de páginas específicas.

En este turorial veremos como podemos modificar tanto el «title» como el «content» de una página. Vamos a añadir contenido útil y que habitualmente nos van a pedir en los desarrollos.

En ambos casos vamos a usar un filtro de WordPress «the_title» y «the_content». A través de estos filtros recuperaremos el contenido, lo meteremos en una variable y modificaremos lo que queremos poner por delante o por detrás.

Recomiendo usarlo en plantillas de página (Page Templates). Programando bien estas secciones conseguiremos páginas mucho más dinámicas y escalables.

Y te preguntaras ¿Y ahora que pongo aquí?.

Situaciones de uso

Te dejo por aquí un montón de ideas para desarrollar y combinar. Como puedes observas las posibilidades son infinitas.

  • Añadir contenido dinámico como productos o posts relacionados, comentarios, testimonios, widgets, tabla de contenido
  • Añadir contenido estático mediante campos personalizados de ACF, logos, carruseles.
  • Añadir el buscador y filtros de contenido.
  • Añadir secciones de contenido para SEO en todo tipo de páginas.
  • Shortcodes y funciones de WordPress u otros plugins.
  • Incluir un formulario de soporte.
  • Secciones para anuncios.
  • Secciones para CTAs.
  • Sección o bloque de preguntas frecuentes.
  • Añadir metadatos encima o después del título como (Autor, fecha, campos personalizados, categorías, compartir en redes, badgets, marca…)
  • Añadir breadcrumbs, me gusta, añadir a favoritos.
  • Utiliza condicionales de página para filtrar mejor el contenido.
  • Añadir información general de una página de opciones.
  • Utilízalo en desarrollos profesionales de Blog, e-learning, e-commercce, directorio, CRM, intranet, eventos

Añadir contenido antes o después del título

El siguiente snippet te servirá de referencia para añadir cualquier contenido en títulos. solo tienes que modificarlo a tus necesidades.

Puedes añadir el marcado que necesites para generar la estructura y anidar tanto contenido como quieras.

<?php
// Añadir contenido antes y después del título
function custom_the_title($title) {
    // Añadir contenidos antes del título
    $before_title = '<div>Aquí cualquier contenido dinámico o estático</div>';
    // Añadir contenidos después del título
    $after_title = '<section>Aqui cualquier contenido dinamico o estático</section>';

    // Retornar el título modificado
    return $before_title . $title . $after_title;
}
// Hook para filtrar el título
add_filter('the_title', 'custom_the_title');
?>

Utiliza funciones de WordPress o de PHP para generar contenido y de nuevo anidar con el título.

<?php
// Función para personalizar el título
function custom_the_title($title) {
    $author = get_the_author();
    $custom_title = '<div>Author:' . $author . '</div>' . $title;
    return $custom_title;
}
add_filter( 'the_title', 'custom_the_title' );
?>

¿Tienes una idea y no sabes como desarrollarla?

Te puedo ayudar a crear ese proyecto que tienes en mente. Con WordPress se puede hacer todo lo que estés pensando. Y lo que no se pueda lo programo a medida para tu proyecto.

Añadir contenido extra antes o después del contenido del editor

Bloque dinámico para mostrar los próximos eventos a través de un shortcode. Añado condicional para mostrar solo en las paginas «singular» de eventos.

<?php
function add_next_events( $content ) {
    if ( is_singular( 'events' ) ) {
		$custom_content = $content;
        $custom_content .= do_shortcode( '[next-events]' );
    }
	    return $custom_content;
}
add_filter( 'the_content', 'add_next_events' );
?>

Un ejemplo para añadir contenido SEO después del contenido en las páginas de categorías de producto. El contenido esta extraído de un campo personalizado hecho con ACF.

<?php
function add_seo_text( $content ) {
    if (is_product_category()) {
        $category_seo = get_field('contenido_seo_categoria_producto');
        $content .= '<div class="product__category__seo">' . $category_seo . '</div>';
    }
    return $content;
}
add_filter( 'the_content', 'add_seo_text' );
?>

Cada una de las situaciones de uso que he nombrado requieren de programación y desarrollo a medida. En muy importante que sepas dominar estos filtros, al final son tareas habituales en el día a día de un desarrollador web. Añadir contenidos adicionales en plantillas es de lo mas demandado por los clientes.

Espero que esto te ayude en tus siguientes proyectos, y recuerda que no necesitas instalar plugins o constructores visuales para hacer estas tareas.

Para cualquier duda, puedes dejar un comentario. Estaré encantado de solucionarla.

¡Muchas gracias!

Deja un comentario

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