web-dev-qa-db-ja.com

管理領域でカスタムウィジェットを強調表示しますか?

クライアントが使用するカスタムウィジェットをいくつか作成しましたが、管理領域の15個程度の標準ウィジェットの中でそれらを目立たせるようにしたいです。これどうやってするの?

私はこの問題を自分で解決しましたので、ここに解決策を置きますが、解決策があればお気軽に追加してください。

5
Jan Fabry

管理領域のすべてのウィジェットは、widget-[global_counter]_[widget_key]-[widget_id](インストール済みウィジェット)またはwidget-59_monkeyman_widget_shortcut-5(リスト内のアンインストール済みウィジェット)のように、widget-11_monkeyman_widget_shortcut-__i__スタイルのidを取得します。

ウィジェットキーにすべてのウィジェットに固有のもの(会社名など)が含まれている場合は、これを使用して 部分文字列属性CSSセレクタ (which ほとんどのブラウザで動作します )。私の場合はdiv.widget[id*=_monkeyman_]がうまくいくので、widgets.php管理ページのヘッダーにCSSスニペットを少し追加します。

add_action('admin_print_styles-widgets.php', 'monkeyman_widgets_style');
function monkeyman_widgets_style()
{
    echo <<<EOF
<style type="text/css">
div.widget[id*=_monkeyman_] .widget-title {
    color: #2191bf;
}
</style>
EOF;
}

これにより、次のような結果が得られます。 Highlighted widgets amongst regular widgets

8
Jan Fabry