Я разработал 2 плагина Wordpress и пытаюсь загрузить необходимые файлы CSS и JS в админку только там, где они мне нужны.
Я написал функцию:
function ds_shortcodes_enqueue() {
$shortcodes_pages = array(
"shortcodes_plugin",
"add_shortcode",
"edit_shortcode"
);
$the_page = isset($_GET['page']);
if(in_array($the_page,$shortcodes_pages)){
// enqueue all our scripts
wp_enqueue_style( 'ds-shortcodes-style', plugins_url( '/admin/css/shortcodes-style.css', __FILE__ ) );
wp_enqueue_script( 'ds-shortcodes-script', plugins_url( '/admin/js/shortcodes-scripts.js', __FILE__ ) );
}
}
add_action( 'admin_enqueue_scripts', 'ds_shortcodes_enqueue' );
Функция должна загружать файлы только на страницах с слагами, указанными в массиве.
Затем я написал второй плагин.Другое имя, другой текстовый домен, другая функциональность и я использовал одну и ту же функцию:
function ds_videos_enqueue() {
$videos_pages = array(
"videos_plugin",
"add_video",
"edit_video",
"edit_video_category",
"video_categories",
"edit_video_level",
"video_levels",
"video_shortcode"
);
$current_page = isset($_GET['page']);
if(in_array($current_page,$videos_pages)){
wp_enqueue_style( 'ds-videos-style', plugins_url( '/admin/css/videos-style.css', __FILE__ ) );
wp_enqueue_script( 'ds-videos-script', plugins_url( '/admin/js/videos-scripts.js', __FILE__ ) );
}
}
add_action( 'admin_enqueue_scripts', 'ds_videos_enqueue' );
Теперь вот проблема.
Они загружают файлы из обоих плагинов на любой странице плагина в admin.
Я просто не понимаю.
Я не мог найти способ исправить это.
Кажется, in_array () всегда возвращает true.
Я надеюсь, что вы можете помочь.
Спасибо.