Escaparate de publicaciones programadas
Escaparate de publicaciones programadas te permite mostrar tus entradas programadas (futuras) en la parte visible de la web de tu sitio WordPress sin crear enlaces problemáticos a contenido sin publicar.
A diferencia de otras soluciones que enlazan con publicaciones programadas y generan errores 404 para los visitantes, este plugin muestra la información de la publicación (título, fecha, resumen, imagen destacada, categorías) sin revelar nunca el enlace permanente ni el ID de la publicación.
Características principales
- Sin errores 404 – Nunca genera enlaces a contenido sin publicar.
- Múltiples métodos de visualización – Utiliza shortcodes, widgets, bloques Gutenberg o API REST.
- Totalmente personalizable – Controla qué información mostrar y su aspecto.
- Ajustes globales con modificaciones individuales – Configura los valores por defecto una vez y personalízalos cuando sea necesario.
- Listo para traducción – Totalmente preparado para traducciones locales.
- Fácil de desarrollar: Amplias posibilidades de personalización.
Opciones de visualización
- Número de publicaciones a mostrar
- Imagen destacada en cualquier tamaño registrado, incluida una opción adaptable de «ancho completo» que rellena el contenedor
- Fecha de publicación programada.
- Extracto de publicación (con núimero de palabras configurable).
- Categorías
- Encabezado personalizado con etiqueta HTML seleccionable (encabezados, párrafo, span o div)
- Contenido del pie personalizado para llamadas a la acción.
- Clases CSS personalizadas en el contenedor principal, tanto globalmente como por cada instancia
Opciones de apariencia
- Estilo de contenedor de tarjeta o mínimo.
- Dashicon, por defecto del tema o sin viñetas de lista.
- Selector de iconos cuidadosamente seleccionados para viñetas de listas
- Personalización del color de resalte.
- Diseño adaptable.
Control de visibilidad
Elige quién puede ver tus publicaciones programadas:
- Todos (público).
- Solo usuarios conectados.
- Solo editores y administradores.
Uso
Shortcode:
[scheduled-posts-showcase]
Con parámetros:
[scheduled-posts-showcase count="3" show_date="1" show_excerpt="1" container_style="card"]
Widget:
Añade el widget de «Escaparate de publicaciones programadas» a cualquier área de widgets desde «Apariencia → Widgets».
Bloque Gutenberg:
Busca «Publicaciones programadas» en el insertador de bloques y añade al bloque a cualquier entrada o página.
API REST:
GET /wp-json/scheduled-posts-showcase/v1/scheduled-posts
Parámetros: per_page, fields, post_type, order
¿Por qué has creado este plugin?
Los plugins existentes para mostrar publicaciones programadas:
- Están abandonados (algunos desde hace más de 10 años).
- Enlazan a publicaciones programadas, provocando errores 404.
- Usan funciones WordPress obsoletas.
- No tienen características modernas, como los bloques Gutenberg.
Escaparate de publicaciones programadas soluciona todos estos problemas con una solución moderna, segura y con múltiples características.
Personalización con CSS
El plugin proporciona clases CSS semánticas para una fácil personalización.
Clases CSS disponibles
.sps-scheduled-posts– Contenedor principal..sps-style-card– Contenedor del estilo de tarjeta..sps-style-minimal– Contenedor del estilo mínimo..sps-scheduled-heading– Elemento de encabezado..sps-scheduled-list– Lista de publicaciones (ul)..sps-list-dashicon– Lista con viñetas de Dashicon..sps-list-theme– Lista con las viñegtas por defecto del tema..sps-list-none– Lista sin viñetas..sps-scheduled-item– Cada publicación (li)..sps-scheduled-icon– Viñeta para el Dashicon..sps-scheduled-thumbnail– Contenedor de la imagen destacada..sps-scheduled-thumbnail--full-width– Añadida al contenedor de la miniatura cuando está seleccionado el tamaño de imagen «Ancho completo».sps-scheduled-title– Título de la publicación..sps-scheduled-date– Fecha de programación..sps-scheduled-excerpt– Extracto de la publicación..sps-scheduled-categories– Lista de categorías..sps-scheduled-footer– Contenido personalizado al pie..sps-no-scheduled– Mensaje de estado vacío.
Pesonalizaciones de ejemplo
/* Change font size for post titles */
.sps-scheduled-title {
font-size: 1.1em;
}
/* Add more padding to the card container */
.sps-style-card {
padding: 1.5em;
}
/* Custom color for the date */
.sps-scheduled-date {
color: #666;
font-style: italic;
}
Clases CSS personalizadas
Puedes apuntar a un widget, bloque o shortcode específico sin escribir un largo selector, simplemente añadiendo tus propias clases:
- Global: En «Apariencia → Publicaciones futuras → Apariencia → Clase CSS adicional». Separadas con espacios. Se aplican a todas las instancias.
-
Por instancia: Cada widget, bloque y shortcode tiene su propio campo «Clase CSS adicional». Se añaden a las globales, nunca las reemplazan.
/* Estilo de una instancia concreta */ .sps-scheduled-posts.sidebar-cta { background: #fffbe6; padding: 1.5em; }
Propiedad CSS personalizada
El color de resalte está disponible como propiedad CSS personalizada:
/* Use the accent color in your custom styles */
.my-custom-element {
border-color: var(--sps-accent-color);
}<h3>Developer Hooks</h3>
El plugin proporciona filtros y acciones para desarrolladores para poder personalizar el comportamiento sin tener que modificar el código del plugin.
Filtros con ejemplos
spscase_query_args
Modifica los argumentos de WP_Query antes de obtener las publicaciones programadas.
add_filter( 'spscase_query_args', function( $args ) {
// Only show posts from specific category
$args['cat'] = 5;
return $args;
} );
spscase_post_data
Modifica el array de datos de cada publicación antes de procesarlo.
add_filter( 'spscase_post_data', function( $post_data, $post ) {
// Add custom field to post data
$post_data['reading_time'] = get_post_meta( $post->ID, 'reading_time', true );
return $post_data;
}, 10, 2 );
spscase_post_html
Modifica el resultado del HTML para cada publicación individual.
add_filter( 'spscase_post_html', function( $html, $post_data ) {
// Add reading time after the title
if ( ! empty( $post_data['reading_time'] ) ) {
$badge = '<span class="reading-time">' . esc_html( $post_data['reading_time'] ) . ' min read</span>';
$html = str_replace( '</span class="sps-scheduled-title">', '</span>' . $badge, $html );
}
return $html;
}, 10, 2 );
spscase_output_html
Modifica el resultado procesado completo del HTML.
add_filter( 'spscase_output_html', function( $html, $posts, $settings ) {
// Wrap output in custom container
return '<div class="my-custom-wrapper">' . $html . '</div>';
}, 10, 3 );
spscase_rest_post_data
Modifica los datos de publicación en las respuestas de API REST.
add_filter( 'spscase_rest_post_data', function( $post_data, $post ) {
// Add author name to API response
$post_data['author'] = get_the_author_meta( 'display_name', $post->post_author );
return $post_data;
}, 10, 2 );
spscase_excerpt_length
Reemplaza el contador de palabras del extracto.
add_filter( 'spscase_excerpt_length', function( $length ) {
// Shorter excerpts for sidebar widgets
return 15;
} );
spscase_date_format
Reemplaza el formato de fecha (por defecto: opción date_format de WordPress).
add_filter( 'spscase_date_format', function( $format ) {
// Show relative dates like "in 3 days"
return 'relative';
} );
spscase_post_types
Filtra los tipos de contenido disponibles en el menú desplegable de ajustes.
add_filter( 'spscase_post_types', function( $post_types ) {
// Remove 'page' from available post types
unset( $post_types['page'] );
return $post_types;
} );
spscase_cache_expiration
Modificar la duración de la caché en segundos (por defecto: 3600 = 1 hora).
add_filter( 'spscase_cache_expiration', function( $seconds ) {
// Cache for 6 hours on high-traffic sites
return 6 * HOUR_IN_SECONDS;
} );
spscase_allowed_footer_html
Modificar las etiquetas HTML permitidas para el contenido del pie de página.
add_filter( 'spscase_allowed_footer_html', function( $allowed_tags ) {
// Allow button element in footer
$allowed_tags['button'] = array(
'class' => true,
'type' => true,
);
return $allowed_tags;
} );
Acciones con ejemplos
spscase_before_output
Se activa antes de que se muestre la lista de publicaciones programadas.
add_action( 'spscase_before_output', function( $posts, $settings ) {
// Track impressions
if ( function_exists( 'my_track_impression' ) ) {
my_track_impression( 'scheduled_posts_widget' );
}
}, 10, 2 );
spscase_after_output
Se activa después de que se genere la lista de publicaciones programadas.
add_action( 'spscase_after_output', function( $posts, $settings ) {
// Output additional content after the list
echo '<p class="sps-custom-note">Updated hourly</p>';
}, 10, 2 );<h3>Support</h3>
¿Necesitas soporte privado o un desarrollo personalizado?
¿Necesitas ayuda individualizada, resolución de problemas prioritaria o una funcionalidad, integración o adaptaciones personalizadas creadas específicamente para tu sitio? Ofrezco soporte privado y desarrollos personalizados. Solo tienes que contactarme y decirme qué necesitas.
¿Necesitas ayuda o tienes sugerencias?
¿Te gusta el plugin? ¡Déjanos un comentario de 5 estrellas y así ayudas a que lo conozcan otros!
Acerca de Ayuda WordPress
Somos especialistas en plugins de optimización de seguridad, SEO, IA y rendimiento para WordPress. Creamos herramientas que solucionan problemas reales a los propietarios de sitios WordPress manteniendo los más altos estándares de programación y requisitos de accesibilidad.
