web-dev-qa-db-ja.com

すべてのスタイルを一度に登録解除するにはどうすればよいですか。そしてJavascriptと同じ?

エンキューされたすべてのスタイルまたはスクリプトを取得してから、それらを一度に登録解除する方法を教えてください。

7
trusktr

私はあなたがあなたがしていることを知っていることを願っています。 wp_print_styles および wp_print_scripts アクションフックを使用してから、それぞれのフックでグローバル $wp_styles および $wp_scripts オブジェクト変数を取得できます。

「registered」属性は登録済みスクリプトをリストし、「queue」属性は上記の両方のオブジェクトのエンキューされたスクリプトをリストします。

スクリプトとスタイルキューを空にするコード例。

function pm_remove_all_scripts() {
    global $wp_scripts;
    $wp_scripts->queue = array();
}
add_action('wp_print_scripts', 'pm_remove_all_scripts', 100);

function pm_remove_all_styles() {
    global $wp_styles;
    $wp_styles->queue = array();
}
add_action('wp_print_styles', 'pm_remove_all_styles', 100);
22

こんにちはあなたもこれらすべてのスクリプトを削除することができますし、wordpressは正常に動作します。 Wordpressはあなたがすべてのスクリプトを削除させるので、そして彼が必要とするものは削除することができません。オーディオスクリプトやその他のスクリプトはスクリプトの追加機能なので、これによってワードプレスに問題が生じることはありません。

/**
 * Dequeue the Parent Theme scripts or plugin.
 *
 * Hooked to the wp_print_scripts action, with a late priority (100),
 * so that it is after the script was enqueued.
 */
function my_site_WI_dequeue_script() {
 wp_dequeue_script( 'comment-reply' ); //If you're using disqus, etc.
 wp_dequeue_script( 'jquery_ui' ); //jQuery UI, no thanks!
 wp_dequeue_script( 'fancybox' ); //Nah, I use FooBox
 wp_dequeue_script( 'wait_for_images' );
 wp_dequeue_script( 'jquery_easing' );
 wp_dequeue_script( 'swipe' );
 wp_dequeue_script( 'waypoints' );
}

add_action( 'wp_print_scripts', 'my_site_WI_dequeue_script', 99 );
0
Lenin Zapata

Hameedullahの方法は便利ですが、もしあなたがこれをサイトのフロントエンドでのみ動作させたいのであれば(例:あなたのWordPressダッシュボードではありません)あなたはそれを早く救済するよう強制する条件を追加する必要があります。

私はこれをするためにis_admin()と共に この質問 に書かれているチェックを使っています。

function pm_remove_all_scripts(){
  if(in_array($GLOBALS['pagenow'], ['wp-login.php', 'wp-register.php']) || is_admin()) return; //Bail early if we're
  global $wp_scripts;
  $wp_scripts->queue = array();
}

add_action('wp_print_scripts', 'pm_remove_all_scripts', 100);

function pm_remove_all_styles(){
  if(in_array($GLOBALS['pagenow'], ['wp-login.php', 'wp-register.php']) || is_admin()) return; //Bail early if we're

  global $wp_styles;
  $wp_styles->queue = array();
}

add_action('wp_print_styles', 'pm_remove_all_styles', 100);
0
Alex Standiford