Posso criar meu próprio widget "Posts Recentes" ou personalizar o existente?

14

Gostaria de ativar o widget de postagens recentes com a capacidade de mostrar um link "Ver tudo" quando houver mais postagens do que o widget definido atualmente para exibição.

Também gostaria de poder excluir determinadas categorias ou postagens.

É possível fazer isso através do functions.php do meu tema?

(1) Personalize o widget existente ou (2) Crie uma cópia dele que eu possa personalizar?

N2Mystic
fonte
1
Para uma leitura mais aprofundada, a API Widgets é um recurso útil.
amigos estão dizendo sobre manafire

Respostas:

20

Geralmente, é melhor copiar o existente, nomeá-lo como algo único e adicionar sua própria funcionalidade.

Copie a WP_Widget_Recent_Postsclasse de wp-includes / class-wp-widget-recent-posts.php em suas functions.php (ou, de preferência, outro arquivo em seu tema dedicado apenas aos widgets) e renomeie para outra coisa, comoMy_Widget_Recent_Posts

Adicione sua funcionalidade lá.

Não se esqueça de ligar também register_widget('My_Widget_Recent_Posts')como parte da initfase.

Bendoh
fonte
+1 Doce. Ok, eu o adicionei a um arquivo de widgets personalizados especiais que tenho "incluído" via "require_once ()" no meu functions.php. No entanto, embora eu tenha mudado o nome da classe, ele parece assumir o widget padrão WP Recent Posts. Alguma ideia?
N2Mystic
2
Você deve atribuir um nome exclusivo ao widget. parent::__construct('recent-posts', __('Recent Posts'), $widget_ops); 'recent-posts'deve ser alterado para algo como 'my-recent-posts', e você também deve alterar o rótulo para algo que torne o widget identificável como seu:'My Recent Posts'
Bendoh 13/10/11
3
Para iniciar meu widget, tive que adicionar add_action( 'widgets_init', create_function( '', 'register_widget( "My_Widget_Recent_Posts" );' ) );ao functions.php.
precisa saber é