Cómo mostrar el widget de publicaciones recientes en WordPress
php
/ *
Nombre del complemento: widget de publicaciones recientes extendido
Descripción: inserte una descripción con la ayuda del escritor de contenido.
Versión: 1.X
Autor: Widget de publicaciones recientes de WordPress
* /
clase RecentPostsWithExcerpts extiende WP_Widget {
función __construir() {
$ widget_ops = formación('nombre de la clase' => 'reciente_con_excerpt', 'descripción' => __( 'Tus publicaciones más recientes, con extractos opcionales', 'Recent_posts_with_excerpts') );
padre::__construir('RecentPostsWithExcerpts', __('Publicaciones recientes con extractos', 'Recent_posts_with_excerpts'), $ widget_ops);
}
función widget( $ args, $ instancia ) {
global $ before_widget,$ intance;
extraer( $ args );
$ título = aplicar_filtros('widget_title', $ instancia['title']);
eco $ before_widget,$ título;
$ ul_classes = 'Recent_posts_with_excerpts';
$ ul_classes = aplicar_filtros('Recent_posts_with_excerpts_list_classes', $ ul_classes);
Si ( !vacío( $ ul_classes ) )
$ ul_classes = 'clase = "'.$ ul_classes.'"';
$ li_classes = '';
$ li_classes = aplicar_filtros('Recent_posts_with_excerpts_item_classes', $ li_classes);
Si ( !vacío( $ li_classes ) )
$ li_classes = 'clase = "'.$ li_classes.'"';
$ h2_classes = 'Recent_posts_with_excerpts';
$ h2_classes = aplicar_filtros('Recent_posts_with_excerpts_heading_classes', $ h2_classes);
Si ( !vacío( $ h2_classes ) )
$ h2_classes = 'clase = "'.$ h2_classes.'"';
do_action('Recent_posts_with_excerpts_begin');
eco '.$ ul_classes.'>';
// recuperar las últimas n publicaciones del blog
$ q = formación('publicaciones por página' => $ instancia['numposts']);
Si (!vacío($ instancia['tag']))
$ q['tag'] = $ instancia['tag'];
$ q = aplicar_filtros('Recent_posts_with_excerpts_query', $ q, $ intance);
$ rpwe = nuevo wp_query($ q);
// el lazo
Si ($ rpwe->have_posts()) :
mientras ($ rpwe->have_posts()) : $ rpwe->el cargo();
eco '
eco ' '.$ h2_classes.'> .get_permalink().'">'.get_the_title().'
Si (!vacío($ fecha))
eco '
'.get_the_time($ fecha).'
';
{ // muestra el extracto
?>
<blockquote> php
Si (function_exists('the_excerpt_reloaded'))
the_excerpt_reloaded($ instancia['words'], $ instancia['tags'], 'contenido', FALSO, '', '', '1', '');
más
el extracto();
Si (!vacío($ instancia['more_text'])) { ?><pags clase="alinear a la derecha"><pequeña><un href=" php the_permalink(); ?>"> php eco $ instancia['more_text']; } ?></un></pequeña></pags>
</blockquote> php
}?></li>
php terminar mientras; terminara si; ?>
</ul>
php
do_action('Recent_posts_with_excerpts_end');
wp_reset_query();
}
función actualizar( $ nueva_instancia, $ old_instance ) {
$ instancia = $ old_instance;
$ instancia['title'] = sanitize_text_field($ nueva_instancia['title']);
$ instancia['numposts'] = intval($ nueva_instancia['numposts']);
$ instancia['more_text'] = sanitize_text_field($ nueva_instancia['more_text']);
$ instancia['date'] = sanitize_text_field($ nueva_instancia['date']);
$ instancia['words'] = intval($ nueva_instancia['words']);
$ instancia['tags'] = $ nueva_instancia['tags'];
$ instancia['tag'] = sanitize_text_field($ nueva_instancia['tag']);
regreso $ instancia;
}
función formar( $ instancia ) {
Si (get_option('show_on_front') == 'página')
$ enlace = get_permalink(get_option('page_for_posts'));
más
$ enlace = home_url();
// Valores predeterminados
$ instancia = wp_parse_args( (formación) $ instancia, formación(
'título' => __('Mensajes recientes', 'Recent_posts_with_excerpts'),
'numposts' => 5,
'numexcerpts' => 5,
'fecha' => get_option('formato de fecha'),
'more_text' => __('Lee mas', 'Recent_posts_with_excerpts'),
'palabras' => '25',
'etiqueta' => '',
));
?>
<pags><etiqueta para=" php eco $ esto->get_field_id('título'); ?>"> php _mi('Título:', 'Recent_posts_with_excerpts'); ?></etiqueta>
<entrada clase="grasa ancha" carné de identidad=" php eco $ esto->get_field_id('título'); ?>" nombre=" php eco $ esto->get_field_name('título'); ?>" tipo="texto" valor=" php eco $ instancia['title']; ?>" /></pags>
<pags><etiqueta para=" php eco $ esto->get_field_id('numposts'); ?>"> php _mi('Número de publicaciones para mostrar:', 'Recent_posts_with_excerpts'); ?></etiqueta>
<entrada clase="grasa ancha" carné de identidad=" php eco $ esto->get_field_id('numposts'); ?>" nombre=" php eco $ esto->get_field_name('numposts'); ?>" tipo="texto" valor=" php eco $ instancia['numposts']; ?>" /></pags>
<pags>
<etiqueta para=" php eco $ esto->get_field_id('more_text'); ?>"> php _mi('Texto del vínculo "Más":', 'Recent_posts_with_excerpts'); ?></etiqueta>
<entrada clase="grasa ancha" carné de identidad=" php eco $ esto->get_field_id('more_text'); ?>" nombre=" php eco $ esto->get_field_name('more_text'); ?>" tipo="texto" valor=" php eco $ instancia['more_text']; ?>" />
<br />
</pags>
php
Si (function_exists('the_excerpt_reloaded')) { ?>
<pags>
<etiqueta para=" php eco $ esto->get_field_id('palabras'); ?>"> php _mi('¿Limitar el extracto a cuántas palabras?', 'Recent_posts_with_excerpts'); ?></etiqueta>
<entrada clase="grasa ancha" carné de identidad=" php eco $ esto->get_field_id('palabras'); ?>" nombre=" php eco $ esto->get_field_name('palabras'); ?>" tipo="texto" valor=" php eco $ instancia['words']; ?>" />
</pags>
<pags>
<etiqueta para=" php eco $ esto->get_field_id('etiquetas'); ?>"> php _mi('Etiquetas HTML permitidas:', 'Recent_posts_with_excerpts'); ?></etiqueta>
<entrada clase="grasa ancha" carné de identidad=" php eco $ esto->get_field_id('etiquetas'); ?>" nombre=" php eco $ esto->get_field_name('etiquetas'); ?>" tipo="texto" valor=" php eco htmlspecialchars($ instancia['tags'], ENT_QUOTES); ?>" />
<br /><pequeña> php
printf( __('Por ejemplo:% s', 'Recent_posts_with_excerpts'));
?>
</pequeña></pags>
php } ?>
<?php
}
}
función Recent_posts_with_excerpts_init() {
register_widget('RecentPostsWithExcerpts');
}
add_action('widgets_init', 'Recent_posts_with_excerpts_init');
Deja un comentario