Здравствуйте, сегодня попробуем подключить скрипт к определенной странице (записи, посту, категории, шаблону и т.д.) на сайте wordpress.
Скачать исходники для статьи можно ниже
В одной из моих предыдущих статей – “Мой снежный плагин” – с помощью кода мы подключили к wordpress скрипт “Снега” на сайте wordpress – скрипт (/moisnow.js) подключался с помощью следующего кода:
add_action('wp_head','snowinit'); function snowinit() { wp_enqueue_script( 'moisnow', plugins_url( '/moisnow.js', __FILE__ )); }
А теперь если мы добавим к данному коду условие с помощью оператора “if”, то сможем подключать скрипт к любой категории, записи, странице или к шаблонам сайта, например так:
add_action('wp_head','snowinit'); function snowinit() { if ( is_single() ) { wp_enqueue_script( 'moisnow', plugins_url( '/moisnow.js', __FILE__ )); } }
В данном примере мы использовали условный тег is_single() – то есть шаблон записи, таким образом скрипт (/moisnow.js) будет работать только на записях сайта – на главной странице или же на других страницах сайта wordpress скрипт работать не будет.
Еще один пример – если вы хотите подключить скрипт только к конкретной странице:
s_single(); // Проверяет, отображается ли отдельная запись. is_single('17'); // Проверяется, отображается ли запись с номером 17. is_single(17); // Проверяется, отображается ли запись с номером 17. Целочисленный параметр также работает. is_single('My Little Pony'); // Проверяется, отображается ли запись с заголовком "My Little Pony". is_single('little-pony'); // Проверяется, отображается ли запись с ярлыком "little-pony". is_single(array(17,'little-pony','My Little Pony')); // Возвращает значение true, если отображается запись или с номером 17, или с ярлыком "little-pony", или с заголовком "My Little Pony".
По поводу страниц:
is_page() When any Page is being displayed. is_page( 42 ) When Page 42 (ID) is being displayed. is_page( 'About Me And Joe' ) When the Page with a post_title of "About Me And Joe" is being displayed. is_page( 'about-me' ) When the Page with a post_name (slug) of "about-me" is being displayed. is_page( array( 42, 'about-me', 'About Me And Joe' ) ) Returns true when the Pages displayed is either post ID = 42, or post_name is "about-me", or post_title is "About Me And Joe". is_page( array( 42, 54, 6 ) ) Returns true when the Pages displayed is either post ID = 42, or post ID = 54, or post ID = 6.
О всех возможных условных тегах в wordpress можете прочитать здесь: “codex.wordpress.org/Conditional_Tags”
Можно также воспользоваться бесплатным плагином – jQuery in Posts Pages.
Сайт плагина: «wordpress.org/plugins/jquery-in-posts-pages/»