Digamos que eu esteja fazendo um site sobre carros e, na área de conteúdo principal de uma página (usando um determinado modelo), há alguns parágrafos sobre um carro específico.
Na barra lateral, há vários widgets padrão. Mas também quero um widget com um "painel de informações" sobre o carro em particular.
Então qual é a melhor maneira de colocar um widget por página no Wordpress? Eu acho que idealmente o painel de informações pode ser inserido através da edição de página padrão no Wordpress .. talvez através dos campos personalizados, para que você possa inserir "Volvo" para o campo Fabricante e ele apareceria na barra lateral. (ou isso é algo que um plug-in já cobre?)
Você quer o Widget Logic Plugin se você vai usar widgets para fazer isso. No entanto, como você adivinhou, essa não é a melhor maneira de fazer isso. Acho que a melhor maneira de conseguir o que você quer fazer é criar um widget personalizado que acesse as informações das postagens se detectar que está na página correta. Algo assim:
global $wp_query;
$custom_data = get_post_meta( $wp_query->post->ID, 'your_custom_postmeta_key', true );
if( is_page() && !empty( $custom_data ) ){
echo $before_widget . $before_title . $title . $after_title;
echo apply_filters( 'the_content', $custom_data );
echo $after_widget;
}
Se você mantiver isso dentro da estrutura do widget normal , isso seria bastante eficaz na criação de um widget por página que só aparece se você estiver em uma página e essa página tiver o meta-conteúdo relevante para o widget. Nesse ponto, você poderia apenas usar os campos personalizados que o WordPress já fornece nas páginas para inserir o conteúdo personalizado.
Existem alguns plugins que permitem que você faça isso. widgets contextuais por exemplo. A outra maneira é criar uma barra lateral diferente para o modelo "página"/"post".
Uma maneira diferente é colocar um código estático em sua sidebar.php que verifica se você está em "página" ou "single" e, em caso afirmativo, "imprime" as informações que você inseriu nos campos personalizados.
Consigo controlar com sucesso a exibição de widgets com o Widget Contexts Plugin For WordPress . Eu gosto do jeito que a Semiologic Pro está fazendo isso. É um plugin baseado em associação, então não tem idéia se é isso que você está procurando:
Ele fornece um conjunto de opções de exibição para todos os widgets em qualquer barra lateral.
Você poderia usar este: http://wordpress.org/extend/plugins/per-page-widgets/