Как выполнить шорткод с помощью JavaScript
2 окт. 2017 г., 17:15:50
Просмотры: 28.2K
Голосов: 4
Предположим, у нас есть следующий шорткод:
[spu-close class="" text="" align=""]
Я хочу показать этот шорткод при клике на кнопку. Вот мой HTML:
<input class="button b" onclick="openFile(link);" type="button" value="download" />
А это мой JavaScript файл:
function openFile(link){
//Я хочу сделать что-то вроде этого
do_shortcode('[spu-close class="" text="" align=""]', false );
//
}
Я не знаю, как это можно реализовать. Кто-нибудь может помочь?

Doppy
41
Комментарии
Все ответы на вопрос
1
1
Для выполнения "ShortCode" на стороне сервера (WordPress/PHP) из JavaScript (клиентская сторона), вам понадобится использовать AJAX!
Вы можете использовать что-то вроде:
1- В подключенном .js файле:
jQuery(document).ready(function($) {
$('.buttonClass').on('click', function() {
$.ajax({
url: Param.doShortCode,
type: 'POST',
data: {
action: 'handle_ajax_shortcode',
},
success: function() {
//действия при успешном выполнении
},
error: function() {
//действия при ошибке
}
})
})
});
2- В php файле:
//локализация скрипта
$Param = array(
'doShortCode'=>admin_url( 'admin-ajax.php' ),
);
wp_localize_script('handle_ajax_shortcode','Param', $Param);
//выполняется для пользователей, которые не авторизованы
add_action( 'wp_ajax_nopriv_handle_ajax_shortcode', 'handle_ajax_shortcode' );
//выполняется для авторизованных пользователей
add_action( 'wp_ajax_handle_ajax_shortcode', 'handle_ajax_shortcode' );
function handle_ajax_shortcode(){
//здесь размещайте код, который должен выполняться при срабатывании JavaScript события
do_shortcode( string $content, bool $ignore_html = false )
// Не забудьте остановить выполнение
wp_die();
}
Для получения дополнительной информации вы можете проверить Ссылка1 & Ссылка2 & Ссылка3

IBRAHIM EZZAT
269
2 окт. 2017 г. 19:40:44
Комментарии
Анонимный пользователь отмечает, что вы дважды устанавливаете действие: один раз в URL и один раз в теле запроса.

13 февр. 2024 г. 17:46:04
Похожие вопросы
3
ответов