Intereting Posts
Заголовок блога не отображается на главной странице блога Когда администратор изменяет пароль для зарегистрированного пользователя, я не хочу отправлять электронное письмо с изменением пароля пользователям Учетная запись по умолчанию дважды отображается в панели администратора Установить связь между custom_post_types Постройте область администрирования Cusom, похожую на то, как работает WP Nav Menu Пользовательский запрос – get_the_terms не работает Запрос MySql очень медленный Загрузка комментариев к сообщению после нажатия кнопки Как организовать эти данные в WordPress Как синхронизировать роли в Multisite? Каков наилучший способ добавления функциональности подписки на один пользовательский тип сообщения? Заголовки списков сообщений вместо отображения основного навигационного меню Отображение содержимого страницы в архиве категории (archive.php) Объединение двух таблиц wp_posts, избегая дублирования Допустимый размер памяти 268435456 байт исчерпан (пытался выделить 7146491840906359738 байт)

JQuery в детской теме

Я новичок в WordPress, и мне нужна помощь в интеграции моего собственного jquery в дочернюю тему.

У меня есть эта подсказка jquery, которая работает, но я хочу включить ее в мою тему WordPress.

Посмотрите на исходный код для этого:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script src="js/jquery.balloon.js"></script> <script> $(document).ready(function() { $('.sample').balloon({ position: "left" }) }); </script> 

Как поместить все это в дочернюю тему для всплывающей подсказки? благодаря

Во-первых, jquery, скорее всего, уже попадает в основную тему. Но если нет, правильным способом является вызов wp_enqueue_script('jquery') в функции для действия hook wp_enqueue_scripts.

Пример:

 function enqueue_jquery() { wp_enqueue_script('jquery'); } add_action('wp_enqueue_scripts', 'enqueue_jquery'). 

Этот код необходимо добавить в файл functions.php для вашей дочерней темы.

Вы указали бы только имя файла в wp_enqueue_script если хотите загрузить версию jquery, отличную от той, которая поставляется с wordpress, или той, которая поставляется с основной темой. И тогда вам нужно будет убедиться, что сначала загружена любая загруженная jquery версия, с wp_deregister_script('jquery') . Не отменять регистрацию уже загруженной версии jQuery перед загрузкой нового приведет к конфликтам (одинаковые функции jquery, определенные дважды …).

Затем, для вашего файла jquery.balloon.js , то же замечание, используйте wp_enqueue_script (и action hook wp_enqueue_scripts ). Вы также должны избегать использования относительного URL-адреса. Предполагая, что вы поместите файл jquery.balloon.js каталог «js» для вашей дочерней темы, стандартом в WordPress будет использование кода в соответствии с:

 wp_enqueue_script('jquery-balloon', get_stylesheet_directory_uri().'/js/jquery.balloon.js', array('jquery'), false, false); 

Функция get_stylesheet_directory_uri вернет полный URL-адрес пути в каталог child-theme.

EDIT (забыл включить активацию эффекта воздушного шара)

Для части активации (код $(document).ready(...); ) наиболее стандартный способ WordPress для выполнения действий (и тот, который будет иметь наименьший потенциал нарушения в терминах отношения между основным и дочерним темами) для создания js-файла с ним, вызванного для примера « balloonactivate.js », и поместите этот файл в папку «js» для вашей дочерней темы.

Предположим, что ваша детская тема предназначена для темы под названием «maintheme»; то ваша дочерняя тема должна находиться в папке «maintheme-child» (т. е. wp-content/themes/maintheme-child ). В приведенной ниже папке «js» (которая либо уже существует, либо которую вы создали для размещения файла jquey.balloon.js), поместите файл «** strong text ** balloonactivate.js». Осталось только поставить его в очередь, как скрипты jquery и jquery.balloon.js.

Таким образом, полный код, который может работать для вас, выглядит следующим образом:

 function enqueue_jquery_balloon() { wp_enqueue_script('jquery'); wp_enqueue_script('jquery-balloon', get_stylesheet_directory_uri().'/js/jquery.balloon.js', array('jquery'), false, false); wp_enqueue_script('activate-balloon', get_stylesheet_directory_uri().'/js/balloonactivate.js', array('jquery-balloon'), false, false); } add_action('wp_enqueue_scripts', 'enqueue_jquery_balloon'). 

Этот код следует добавить в файл functions.php в каталог для вашей дочерней темы.

Для активации эффекта шара $(document).ready(...); код также можно добавить встроенным в конец файла footer.php дочерней темы (если для дочерней темы требуется нижний колонтитул, отличный от основной темы). Но если основного footer.php колонтитула темы достаточно, было бы жалко создать footer.php в дочерней теме только для сценария шара (отсюда комментарий выше о «наименее разрушительном» влиянии файла balloonactivate.js ).

Завершение jquery, вероятно, не нужно в вашем случае, но повторное включение снова не является проблемой. В чем проблема: если одна версия jquery уже загружена и вы загрузили вторую.

Надеюсь это поможет.