特定のページでis_active_widgetをチェックするソリューションを探しています。
私はこれを持っていますhttps://wordpress.stackexchange.com/questions/2302/loading-scripts-only-if-a-particular-shortcode-or-widget-is-present
しかし、実行中/アクティブなページに特定のアクティブなウィジェットが存在しないすべてのページにsorich87のウィジェットのスクリプトが読み込まれます。各ページのサイドバーに異なるIDがある場合でも&という名前です。
例:
「X」アクティブなウィジェットとx_scriptを含むページ 'A'(サイドバー 'A1'付き)があります。 その後、 'B'(サイドバー 'B1'付き)をチェックしても 'X'ウィジェットではありませんが、 'X'ウィジェットのx_scriptsは読み込まれます。このis_active_widget関数は、実行中のページではなく、一般的にアクティブになっているウィジェットのみをチェックしているようです。
アクティブ/ランニングページでis_active_widgetを取得する方法は? - wordpress function
これは私のコードです:
class X extends WP_Widget
{
function X(){
$widget_ops = array('description' => 'X widget');
$control_ops = array('width' => 200, 'height' => 500);
parent::WP_Widget(false,$name='X-widget',$widget_ops,$control_ops);
if (is_active_widget(false, false, $this->id_base, true)){
add_action('wp_head', 'x_styles',0);
add_action('wp_footer', 'x_scripts');
}
}
//rest of functions here
}
これを防ぐには?