Tôi đã giải quyết nó bằng cách sử dụng một số CSS, tương tự như mẹo của tôi để làm nổi bật các widget của riêng tôi . Các khu vực thả thanh bên là div
của lớp widgets-sortable
và chúng có id
thanh bên của bạn. Các vật dụng của bạn là div
với lớp widget
và và id
có dạng widget-[global_counter]_[widget_key]-[widget_id]
. Bạn có thể kết hợp những thứ này để làm nổi bật các kết hợp đúng hoặc sai.
Ví dụ, tôi có một thanh bên được gọi footer
chỉ nên chứa các widget rộng. Những vật dụng này có thể nhận ra được vì ID của chúng bao gồm -wide-
. Tôi muốn những thứ này có màu xanh lá cây, và tất cả những cái khác có màu đỏ với một cú đánh xuyên qua.
add_action('admin_print_styles-widgets.php', 'print_widget_hint_style');
function print_widget_hint_style()
{
echo <<<EOF
<style type="text/css">
/* Less specific rule for all widgets */
div.widgets-sortables[id*=-footer] div.widget .widget-title
{
color: red;
text-decoration: line-through;
}
/* More specific rule for correct widgets */
div.widgets-sortables[id*=-footer] div.widget[id*=-wide-] .widget-title
{
color: green;
}
</style>
EOF;
}