Queremos diseñar la página de widgets en el panel de administración de forma un poco diferente, principalmente para ayudar al administrador del sitio a comprender dónde aparecerá cada widget en el sitio:
Para eso, necesitamos cambiar el HTML que representa widgets.php (simplemente cambiar el CSS no es suficiente). ¿Cómo podríamos hacer eso sin tocar el núcleo?
widgets
wp-admin
core-modifications
Lea Cohen
fuente
fuente
Respuestas:
Si actualiza su WordPress a 3.3.1, lo cual debería absolutamente, cada área de widgets en el administrador ahora tiene una ID que puede usar para apuntar a través de CSS, que realmente debería ser suficiente. Consulte http://core.trac.wordpress.org/ticket/18334 para ver un ejemplo.
fuente
No puedo sacar la pregunta de mi cabeza, pero no tengo tiempo para una solución completa. Así que solo escribo mi idea aquí, luego estableceré una pequeña recompensa.
Hay una acción
'widgets_admin_page'
porwp-admin/widgets.php
encima del otro contenido. Puede colocar un cuadro de vista previa aquí.Código de muestra:
Esto imprime una matriz de todas las barras laterales registradas. Tienes que recorrer todas las barras laterales para encontrar los widgets registrados.
Para que la vista previa sea útil, necesita dos archivos: una plantilla HTML y una hoja de estilo.
Me gustaría utilizar
add_theme_support()
.Código de muestra para el tema
functions.php
:En la
show_widget_preview()
cola de la hoja de estilo y cargar la plantilla. Renderice las barras laterales registradas en los marcadores de posición predefinidos enwidget-preview.php
.Actualice la plantilla por AJAX después de que el usuario presione el botón Guardar en un widget.
Desafíos: tenga en cuenta el modo de accesibilidad, las ventanas pequeñas y los conflictos CSS. Mostrar un mensaje útil cuando no hay una barra lateral registrada (¿descripciones de la barra lateral?). ¿Qué debería suceder cuando un usuario intenta arrastrar un widget al cuadro de vista previa? :)
fuente
la respuesta corta es que no puedes, no sin tocar el núcleo.
sin embargo, puede establecer la descripción de cada área de widget (el texto debajo del título del área de widget) en la función register_sidebar.
fuente