¿Puedo crear mi propio widget de "Publicaciones recientes" o personalizar el existente?


14

Me gustaría habilitar el widget Publicaciones recientes con la capacidad de mostrar un enlace "Ver todo" cuando haya más publicaciones de las que tengo configuradas para mostrar.

También me gustaría poder excluir ciertas categorías o publicaciones.

¿Es posible hacerlo a través de las funciones de mi tema.php?

(1) Personalizar el widget existente o (2) ¿Crear una copia que pueda personalizar?


1
Para leer más, la API de widgets es un recurso útil.
manafire

Respuestas:


20

Por lo general, es mejor copiar el existente, asignarle un nombre único y luego agregar su propia funcionalidad.

Copie la WP_Widget_Recent_Postsclase de wp-includes / class-wp-widget-Recent-posts.php en functions.php (o, preferiblemente, otro archivo en su tema dedicado solo a widgets) y cambie el nombre a otra cosa, comoMy_Widget_Recent_Posts

Agregue su funcionalidad allí.

No olvide llamar también register_widget('My_Widget_Recent_Posts')como parte de la initfase.


+1 dulce. Ok, lo agregué a un archivo de widgets personalizados especiales que tengo "incluido" a través de "require_once ()" en mis functions.php. Sin embargo, aunque cambié el nombre de la clase, parece tomar el control predeterminado del widget WP Recent Posts. ¿Algunas ideas?
N2Mystic

2
Debe asignar un nombre único al widget. parent::__construct('recent-posts', __('Recent Posts'), $widget_ops); 'recent-posts'debe cambiarse a algo así 'my-recent-posts', y también debe cambiar la etiqueta a algo que haga que el widget sea identificable como suyo:'My Recent Posts'
Bendoh el

3
Para iniciar mi widget tuve que agregar add_action( 'widgets_init', create_function( '', 'register_widget( "My_Widget_Recent_Posts" );' ) );a functions.php.
manafire
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.