Привет, уважаемый администратор WordPress! Вы когда-нибудь оказывались в ситуации, когда вам хотелось загружать JavaScript или пользовательские таблицы стилей только на определенные страницы вашего веб-сайта WordPress? Ну, не волнуйтесь! В этой статье блога я поделюсь с вами некоторыми изящными методами использования хука admin_enqueue_scripts, которые помогут вам добиться именно этого. Итак, приступим!
Метод 1: Условная постановка в очередь с помощью is_page()
Один из самых простых способов загрузки скриптов и таблиц стилей на определенные страницы — использование функции is_page()в хуке admin_enqueue_scripts. Эта функция позволяет проверить, соответствует ли текущая страница заданному условию. Вот пример:
function enqueue_scripts_on_specific_page() {
if (is_page('about-us')) {
wp_enqueue_script('custom-script', 'path/to/custom-script.js');
wp_enqueue_style('custom-style', 'path/to/custom-style.css');
}
}
add_action('admin_enqueue_scripts', 'enqueue_scripts_on_specific_page');
В этом примере собственный скрипт и стиль будут загружены только на странице «О нас». Вы можете изменить условие, чтобы оно соответствовало конкретной странице, на которую вы хотите ориентироваться.
Метод 2: постановка в очередь на основе идентификатора страницы
Другой подход — постановка в очередь скриптов и таблиц стилей на основе идентификатора страницы. Этот метод полезен, если вы хотите загрузить ресурсы на несколько страниц с разными пулами, но с одинаковым идентификатором. Вот пример:
function enqueue_scripts_on_specific_pages() {
$page_ids = array(15, 23, 42); // Page IDs where the assets should be loaded
if (in_array(get_the_ID(), $page_ids)) {
wp_enqueue_script('custom-script', 'path/to/custom-script.js');
wp_enqueue_style('custom-style', 'path/to/custom-style.css');
}
}
add_action('admin_enqueue_scripts', 'enqueue_scripts_on_specific_pages');
В этом примере пользовательский скрипт и стиль будут загружены на страницы с идентификаторами 15, 23 и 42. Вы можете изменить массив $page_ids, чтобы он соответствовал нужным идентификаторам страниц.
Метод 3: таргетинг на шаблоны с помощью get_page_template_slug()
Если у вас есть определенные шаблоны страниц, вы можете использовать функцию get_page_template_slug()для их таргетинга. Вот пример:
function enqueue_scripts_on_specific_template() {
$template_slug = get_page_template_slug(get_the_ID());
if ($template_slug === 'template-custom.php') {
wp_enqueue_script('custom-script', 'path/to/custom-script.js');
wp_enqueue_style('custom-style', 'path/to/custom-style.css');
}
}
add_action('admin_enqueue_scripts', 'enqueue_scripts_on_specific_template');
В этом примере пользовательский скрипт и стиль будут загружены только на страницы, использующие шаблон «template-custom.php». Вы можете изменить ярлык шаблона, чтобы он соответствовал вашему собственному.
Метод 4: постановка в очередь на основе типа сообщения
Если вы хотите загружать скрипты и таблицы стилей только для определенных типов сообщений, вы можете использовать функцию get_post_type()в хуке admin_enqueue_scripts. Вот пример:
function enqueue_scripts_on_specific_post_type() {
$post_type = get_post_type();
if ($post_type === 'portfolio') {
wp_enqueue_script('custom-script', 'path/to/custom-script.js');
wp_enqueue_style('custom-style', 'path/to/custom-style.css');
}
}
add_action('admin_enqueue_scripts', 'enqueue_scripts_on_specific_post_type');
В этом примере пользовательский сценарий и стиль будут загружены только на страницы с типом публикации «портфолио». Вы можете изменить условие в соответствии с желаемым типом сообщения.
Подведение итогов
Вот и все! Мы рассмотрели несколько способов загрузки JavaScript и таблиц стилей на определенные страницы WordPress. Независимо от того, предпочитаете ли вы использовать условия страниц, идентификаторы страниц, шаблоны или типы сообщений, теперь у вас есть знания для соответствующей настройки ресурсов вашего веб-сайта. Поэкспериментируйте с этими методами и найдите тот, который лучше всего соответствует вашим потребностям.
Помните: загружая скрипты и таблицы стилей только там, где это необходимо, вы можете оптимизировать производительность своего веб-сайта и улучшить взаимодействие с пользователем. Приятного программирования и удачной WordPress!