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!