0

現在のフロントエンドにウィジェットが表示されているかどうかを確認する機能はありますか?
これは、いくつかのスタイルやスクリプトをプルしたり、ウィジェットに他のアクションを実行したりするために必要です。

4

1 に答える 1

0

たとえばprint_rを使用して、コンテンツ$GLOBALS['displayed_sidebars']と$GLOBALS['displayed_widgets']をエコーすることにより、これが機能するかどうかを確認してください。

含めるすべてのサイドバーに対してdynamic_sidebarが実行された後にテストする必要があります。

add_filter( 'dynamic_sidebar_params', function( $params ) {
    global $displayed_sidebars, $displayed_widgets;
    if( !in_array( $params[0]['id'], $displayed_sidebars ))
        $displayed_sidebars[] = $params[0]['id'];

    if( !in_array( $params[0]['widget_name'], $displayed_widgets ))
        $displayed_widgets[] = $params[0]['widget_name'];

    return $params;
});
于 2012-11-16T17:01:00.710 に答える