¿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?

N2Mystic
fuente
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.

Bendoh
fuente
+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