При разработке веб-сайтов с использованием WordPress скрипты в очереди играют решающую роль в добавлении функциональности и интерактивности. Однако иногда вам может потребоваться условно поставить в очередь сценарии на основе определенных шаблонов страниц. В этой статье мы рассмотрим различные методы достижения этой цели, а также примеры кода, которые позволят вам улучшить свои навыки разработки WordPress.
Метод 1: использование условных тегов
Условные теги в WordPress предоставляют удобный способ проверить текущий шаблон страницы и соответствующим образом поставить скрипты в очередь по условию. Вот пример:
function enqueue_scripts_based_on_page_template() {
if ( is_page_template( 'template-name.php' ) ) {
wp_enqueue_script( 'script-handle', 'script-file.js', array(), '1.0', true );
}
}
add_action( 'wp_enqueue_scripts', 'enqueue_scripts_based_on_page_template' );
Метод 2: использование иерархии шаблонов
WordPress использует систему иерархии шаблонов, которая определяет соответствующий файл шаблона для каждой страницы. Вы можете использовать эту иерархию для выборочной постановки сценариев в очередь. Вот пример:
function enqueue_scripts_based_on_template_hierarchy() {
$template = basename( get_page_template() );
if ( 'template-name.php' === $template ) {
wp_enqueue_script( 'script-handle', 'script-file.js', array(), '1.0', true );
}
}
add_action( 'wp_enqueue_scripts', 'enqueue_scripts_based_on_template_hierarchy' );
Метод 3: применение настраиваемых полей
WordPress позволяет создавать настраиваемые поля для шаблонов страниц. Вы можете использовать эти настраиваемые поля, чтобы указать, следует ли ставить сценарий в очередь или нет. Вот пример использования плагина Advanced Custom Fields:
function enqueue_scripts_based_on_custom_field() {
$enqueue_script = get_field( 'enqueue_script', get_queried_object_id() );
if ( $enqueue_script ) {
wp_enqueue_script( 'script-handle', 'script-file.js', array(), '1.0', true );
}
}
add_action( 'wp_enqueue_scripts', 'enqueue_scripts_based_on_custom_field' );
Метод 4: Непосредственное управление файлом шаблона
Если у вас есть полный контроль над файлами шаблонов, вы можете напрямую ставить сценарии в очередь внутри самого файла шаблона. Вот пример:
<?php
/*
* Template Name: Custom Template
* Enqueue Script: script-file.js
*/
get_header();
// Your template code here
wp_enqueue_script( 'script-handle', 'script-file.js', array(), '1.0', true );
get_footer();
Не забудьте оптимизировать заголовки страниц, метаописания и теги, чтобы улучшить видимость и рейтинг SEO.