9. ПЕРЕД ТЕМ КАК НАЧАТЬ
$some_function = function () {
// do something
};
/**
* For logged in users
*/
add_action( 'wp_ajax_some_action', $some_function );
/**
* For not logged in users
*/
add_action( 'wp_ajax_nopriv_some_action', $some_function );
15. <script type="text/html" id="tmpl-post">
// Your template
</script>
Шаблон оборачивается тегом <script>
Тип тега должен быть text/html
Значение id должно иметь префикс tmpl-
16. НЕСКОЛЬКО ПРАВИЛ ПРИ РАБОТЕ С
ШАБЛОНОМ
Синтаксис похож на
Для вывода данных используется {{{ ... }}}
Для вывода HTML-безопасных данных {{ ... }}
Для вычислений <# ... #>
Данные доступны из объекта data
Mustache
18. var tmpl = wp.template('post');
$('.post-list').append(template({
title: 'Hello World!',
image: 'path/to/image.jpg',
excerpt: '<p>Welcome to WordPress. This is your first post.</p>'
permalink: 'https://site.com/2015/05/29/hello-world/'
}));
32. ДОБАВЛЯЕМ ДАННЫЕ ДЛЯ
ОТПРАВКИ НА СЕРВЕР
newData = {
some: 'data'
};
data = wp.heartbeat.isQueued('your-key');
if (data) {
newData = jQuery.extend(data, newData);
}
wp.heartbeat.enqueue(
'your-key',
newData,
true
);
33. ПОЛУЧАЕМ ЗАПРОС НА СЕРВЕРЕ С
ПОМОЩЬЮ ЭКШЕНОВ И ФИЛЬТРОВ
heartbeat_received
$response, $data, $screen_id
heartbeat_send
$response, $screen_id
heartbeat_tick
$response, $screen_id
34. ПОЛУЧАЕМ ОТВЕТ В БРАУЗЕРЕ С
ПОМОЩЪЮ СОБЫТИЙ
jQuery(document).on('heartbeat-tick', function(event, data) {
if (data.hasOwnProperty('your-key')) {
// do something with data
}
});
35. ЧТО ХОТЕЛОСЬ БЫ СКАЗАТЬ В
КОНЦЕ
Загрузка дополнительных файлов,
дополнительные запросы
Использование на больших проектах
Использование в админке