wp_enqueue_script только на определенных шаблонах страниц - PullRequest
0 голосов
/ 09 июля 2019

Я делаю это в плагине.У меня есть следующее в попытке поставить в очередь сценарий только при использовании моего файла шаблона archive-my_custom_post_type.php.

add_action('wp_enqueue_scripts', 'my_enqueue');

function my_enqueue($hook) {
if(is_page_template('archive-my_custom_post_type')){
  wp_enqueue_script( 'ajax-scripts', plugins_url( '/js/myjquery.js', __FILE__ ), array('jquery') );
}

}

Не работает.Он не загружает файл jquery на ЛЮБЫЕ входные страницы, не говоря уже о archive-my_custom_post_type.php.Однако, когда я удаляю это условие if, оно загружается на ВСЕ мои страницы интерфейса.

Вопрос : Как выполнить условную постановку в очередь сценария, когда используется мой шаблон архива с пользовательским типом записи?

Ответы [ 2 ]

0 голосов
/ 09 июля 2019

Если вы используете функцию is_page_template, вы также должны использовать в качестве параметра полный путь (включая подкаталоги) для шаблона. Например, если ваш шаблон находится в вашем-theme-directory / templates / template-file.php, вы должны использовать его следующим образом:

if(is_page_template('templates/template-file.php')){
  wp_enqueue_script( 'ajax-scripts', plugins_url( '/js/myjquery.js', __FILE__ ), array('jquery') );
}
0 голосов
/ 09 июля 2019

Вам необходимо использовать полное имя файла, включая .php.Так что в вашем случае вам нужно будет использовать:

is_page_template('archive-my_custom_post_type.php')

Кроме того, если ваш шаблон находится в подкаталоге, вам нужно будет указать и это.Ссылка: https://developer.wordpress.org/reference/functions/is_page_template/#more-information

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...