Queremos projetar a página de widgets no painel de administração de maneira um pouco diferente, principalmente para ajudar o administrador do site a entender onde cada widget aparecerá no site:
Para isso, precisamos alterar o HTML que o widgets.php renderiza (simplesmente alterar o css não é suficiente). Como faríamos isso sem tocar o âmago?
widgets
wp-admin
core-modifications
Lea Cohen
fonte
fonte
Respostas:
Se você atualizar seu WordPress para o 3.3.1, o que você absolutamente deve, cada área de widget no administrador agora possui um ID que você pode usar para segmentar via CSS, o que realmente deve ser suficiente. Veja http://core.trac.wordpress.org/ticket/18334 para um exemplo.
fonte
Não consigo tirar a pergunta da cabeça, mas não tenho tempo para uma solução completa. Então, apenas anotei minha ideia aqui, depois estabelecerei uma pequena recompensa.
Há uma ação
'widgets_admin_page'
emwp-admin/widgets.php
cima do outro conteúdo. Você pode colocar uma caixa de visualização aqui.Código de amostra:
Isso imprime uma matriz de todas as barras laterais registradas. Você precisa percorrer todas as barras laterais para encontrar os widgets registrados.
Para tornar a visualização útil, você precisa de dois arquivos: um modelo HTML e uma folha de estilos.
Eu usaria
add_theme_support()
.Código de exemplo para o tema
functions.php
:Em
show_widget_preview()
enfileirar a folha de estilos e carregar o modelo. Renderize as barras laterais registradas nos espaços reservados predefinidos emwidget-preview.php
.Atualize o modelo por AJAX depois que o usuário pressionou o botão Salvar em um widget.
Desafios: leve em consideração o modo de acessibilidade, pequenas janelas e conflitos de CSS. Mostrar uma mensagem útil quando nenhuma barra lateral estiver registrada (descrições da barra lateral?). O que deve acontecer quando um usuário tenta arrastar um widget para a caixa de visualização? :)
fonte
a resposta curta é que você não pode, não sem tocar no núcleo.
no entanto, você pode definir a descrição de cada área do widget (o texto abaixo do título da área do widget) na função register_sidebar.
fonte