私は現在、Fooboxライトボックス(フリー)プラグインを使用しています。プラグインのファイルは、使用されているかどうかにかかわらず、すべてのページに読み込まれているようです。しかし、私はこれを変更したいと思いますが、スクリプトをデキューするためのハンドルが見つからないようです。Wordpressデキュースクリプトハンドルなし?
スクリプトは、少なくとも私にはハンドルを表示しないコードの下にあるようです。私はremove_action(...)
を使って、それらを "カウンターする"とwp_dequeue_script()
のさまざまな入力を試してみました。可能であれば、私は直接プラグインファイルを編集せずにこれらのスクリプト(およびスタイル)をデキューするにはどうすればよい、wp_dequeue_script('foobox.free.min.js')
class Foobox_Free extends Foo_Plugin_Base_v2_1 {
const JS = 'foobox.free.min.js';
const CSS = 'foobox.free.min.css';
const CSS_NOIE7 = 'foobox.noie7.min.css';
const FOOBOX_URL = 'http://fooplugins.com/plugins/foobox/?utm_source=fooboxfreeplugin&utm_medium=fooboxfreeprolink&utm_campaign=foobox_free_pro_tab';
const BECOME_AFFILIATE_URL = 'http://fooplugins.com/affiliate-program/';
private static $instance;
public static function get_instance() {
if (! isset(self::$instance) && ! (self::$instance instanceof Foobox_Free)) {
self::$instance = new Foobox_Free();
}
return self::$instance;
}
/**
* Initialize the plugin by setting localization, filters, and administration functions.
*/
private function __construct() {
//init FooPluginBase
$this->init(FOOBOXFREE_FILE, FOOBOXFREE_SLUG, FOOBOX_BASE_VERSION, 'FooBox FREE');
if (is_admin()) {
add_action('admin_head', array($this, 'admin_inline_content'));
add_action('foobox-free-settings_custom_type_render', array($this, 'custom_admin_settings_render'));
new FooBox_Free_Settings();
add_action(FOOBOX_ACTION_ADMIN_MENU_RENDER_GETTING_STARTED, array($this, 'render_page_getting_started'));
add_action(FOOBOX_ACTION_ADMIN_MENU_RENDER_SETTINGS, array($this, 'render_page_settings'));
add_action('admin_notices', array($this, 'admin_notice_foogallery_lightboxes'));
add_action('wp_ajax_foobox_foogallery_lightboxes_ignore_notice', array($this, 'admin_notice_foogallery_lightboxes_ignore'));
add_action('wp_ajax_foobox_foogallery_lightboxes_update', array($this, 'admin_notice_foogallery_lightboxes_update'));
add_action('admin_print_scripts', array($this, 'admin_notice_foogallery_lightboxes_inline_js'), 999);
add_filter('foobox-free-has_settings_page', '__return_false');
} else {
// Render JS to the front-end pages
add_action('wp_enqueue_scripts', array($this, 'frontend_print_scripts'), 20);
add_action('foobox-free_inline_scripts', array($this, 'inline_dynamic_js'));
// Render CSS to the front-end pages
add_action('wp_enqueue_scripts', array($this, 'frontend_print_styles'));
if ($this->is_option_checked('disable_others')) {
add_action('wp_footer', array($this, 'disable_other_lightboxes'), 200);
}
}
}
?
編集
私は(すべてのfunctions.phpに追加)私は、スクリプトを削除するためにやってみたものを追加しました下:
add_action('wp_enqueue_scripts', 'remove_foobox_scripts', 100);
function remove_foobox_scripts() {
if (!is_page('my-page')) {
wp_deregister_script('foobox.free.min.js');
wp_dequeue_script('foobox.free.min.js');
}
}
もちょうどである、以下試してみました
:fooboxファイルから直接コピー:array(
一部が除去される
remove_action('wp_enqueue_scripts', array($this, 'frontend_print_scripts'), 20);
remove_action('foobox-free_inline_scripts', array($this, 'inline_dynamic_js'));
remove_action('wp_enqueue_scripts', array($this, 'frontend_print_styles'));
はまた、以下試してみました
remove_action('wp_enqueue_scripts','frontend_print_scripts', 20);
remove_action('foobox-free_inline_scripts', 'inline_dynamic_js');
remove_action('wp_enqueue_scripts', 'frontend_print_styles');
どこにコードを挿入して対処しましたか?どのページをロードするべきであるべきかを指定するためにどのようなコードを使用していますか? – miknik
@miknik遅い応答に申し訳ありません。私は元の質問に成功しなかった試行を追加しました –