Exibindo widgets

2

Durante o desenvolvimento do tema, eu entendo como criar widgets básicos dentro do arquivo functions.php .

No entanto, quando se trata de exibir o widget dentro de um tema, existe uma maneira preferida de exibi-lo - primário, quais são os benefícios de usar o the_widget() função versus a função dynamic_sidebar() ?

    
por andrewdcato 23.03.2015 / 17:52

2 respostas

2

the_widget() é usado para exibir um widget específico fora de uma barra lateral. Para ser honesto, essa função não tem nenhum propósito valioso, pois você precisa codificar os parâmetros $instance do widget, isso significa que você precisará alterar manualmente o código toda vez que precisar alterar alguma coisa. Tanto para dynamica. Seria mais fácil simplesmente codificar uma função personalizada e, em seguida, chamá-la em seu modelo, quando necessário. Será mais rápido e muito mais fácil de usar

Fique com os widgets dentro das barras laterais, pois eles são dinâmicos e podem ser alterados sem tocar no tema ou no código do plug-in. Eu prefiro codificar vinte barras laterais e adicioná-las em lugares estratégicos do que usar uma instância codificada de the_widget()

    
por Pieter Goosen 23.03.2015 / 18:20
5

Via usando o dynamic_sidebar() você pode alterar / editar os widgets na área de widgets das configurações de aparência. Se você usa the_widget() , codifique-o diretamente no template, então você precisa modificar o código para alterar o que é exibido.

Ambos têm seus usos. Muitas barras laterais tendem a confundir a área de widgets, mas é muito boa para usuários que não querem mexer com o código (ou se você alternar entre widgets / configurações de widgets com frequência).

O The_widget não é dependente de ter uma barra lateral, então ele também é usado se você tiver muitos widgets personalizados que você usa em torno de seus modelos, como no rodapé, por exemplo.

Mas não acho que haja benefícios diretos de usar um contra o outro, além da usabilidade.

EDIT: Embora eu concorde com o Pieter, acho que há pelo menos alguns casos em que você pode usar the_widget() . Por exemplo, um projeto em que estou trabalhando atualmente eu criei um widget RSS personalizado para exibir ícones de acordo com os tipos de artigo da rede. (Temos vários sites que estão todos ligados). Também temos esses feeds RSS na parte inferior da página que mostram o conteúdo de nossos outros sites e não vejo utilidade em codificar uma função personalizada com a mesma funcionalidade quando já tenho um widget em funcionamento.

E sim, eu poderia usar uma barra lateral para mostrar esses widgets, mas como temos várias pessoas atualizando os sites e nem todos são tão experientes em tecnologia, achei que era melhor que a área de sidebars tivesse basicamente apenas os containers que eles precisavam editar .

Então eu usei the_widget para evitar código duplicado e manter a interface enxuta para outros administradores. Mas, como bem disse Pieter, você provavelmente está melhor usando sempre wigdets com sidebars como eles pretendem.

    
por jimihenrik 23.03.2015 / 18:10