Intereting Posts
Использование WP_Query в mu-plugin Позвольте пользователям загружать изображения (ы) в сообщение из внешнего интерфейса Спам, введенный в общий кэш кэша w3 Будет ли WordPress полностью ООП? Локализация в javascript Установите дату истечения срока действия сообщения из Frontend с помощью wp_insert_post Можно ли удалить главный редактор текстовых полей? Как получить полный абсолютный URL для прикрепления вложений? Единая таксономия для разных пользовательских типов сообщений Добавьте некоторые файлы в таблицу wp_posts Мне нужен плагин lightbox, который будет применяться к галерее Отображение видео на главной странице через настраиваемое поле внутри виджета php Как перечислять события по годам и месяцам с помощью расширенных пользовательских полей? Как я могу экспортировать сообщения с избранными изображениями, не загружая их Отображение прямых дочерних элементов текущей пользовательской таксономии в шаблоне taxonomy.php

Передача значения JQuery для функции WordPress

У меня появилось всплывающее окно, в котором я хотел бы отобразить информацию об авторе для этой конкретной записи.

Я использую WordPress Popup Maker и создал функцию, которую я превратил в короткий код, чтобы я мог использовать его в Popup Maker.

То, что я хочу сделать, – это нажать идентификатор ссылки onclick для функции, отображающей пользовательские данные.

Вот мой JQuery в hook в functions.php:

add_action( 'wp_footer', 'my_custom_popup_scripts', 500 ); function my_custom_popup_scripts() { ?> <script type="text/javascript"> (function ($, document, undefined) { $('.author-popup').click(function() { var id = $(this).attr('id'); }); // Your custom code goes here. }(jQuery, document)) </script><?php } 

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

 function my_author_box() { ?> <?php $args = array( 'author' => "31", //this what I want to change with Jquery ); query_posts($args); ?> 

И вот моя ссылка для запуска:

 <a href="#" class="author-popup" id="33">some user</a> 

Я не очень хорошо разбираюсь в jquery или AJAX, который, как я прочитал, может быть решением. Если у кого-нибудь есть идеи, я бы очень признателен.

заранее спасибо

Solutions Collecting From Web of "Передача значения JQuery для функции WordPress"

Вы должны использовать AJAX для этого. Что вам нужно сделать:

  1. Создайте JS-скрипт, который отправляет запрос AJAX в файл admin-ajax.php:

 <script> jQuery(".author-popup").on("click", function(){ var id = jQuery(this).attr("id"); jQuery.post("http://www.yourdomain.com/admin-ajax.php", {action: "my_author_box", id: id}, function(response){ console.log("Response: " + response); //NOTE that 'action' MUST be the same as PHP function name you want to fire //you can do whatever you want here with your response }); }) </script> 
  1. Создайте новый файл ex myajax.php и включите его в functions.php
  2. Теперь напишите функцию, которую вы хотите запустить по клику, например:

 function my_author_box(){ $args = array( 'author' => $_REQUEST['id']; ); query_posts($args); die(); } add_action( 'wp_ajax_my_author_box', 'my_author_box' ); add_action( 'wp_ajax_nopriv_my_author_box', 'my_author_box' ); 

Это все. Как я уже сказал, action должно быть таким же, как и функция PHP. Если вы хотите, чтобы какой-то отклик от вашей функции PHP просто echo и это то, что вы получите в ответ. Если вы получите 0 в качестве ответа, это означает, что функция, которую вы хотите запустить, не существует, или вы не вызывали die() в конце вашей функции. Должно сработать