// Подключаем скрипты и стили админки
add_action('admin_enqueue_scripts', 'ugd_admin_scripts');
function ugd_admin_scripts(){
// Тут у нас JQuery
wp_enqueue_script ('ugd-jquery', 'https://code.jquery.com/jquery-3.4.1.min.js');
// Тут у нас JQuery UI
wp_enqueue_script ('ugd-jquery-ui', 'https://code.jquery.com/ui/1.12.1/jquery-ui.min.js');
// Тут у нас тема (css-стили) для JQuery UI
// Если не подключить, будут глюки типа двух крестиков на кнопке закрытия окна и т.п.
wp_enqueue_style ('ugd-jquery-ui-theme', 'https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css');
// А тут у нас сам скрипт диалогового окна
// Обязательно устанавливаем зависимость array('jquery-ui-dialog')
wp_enqueue_script ('admin_scripts', get_template_directory_uri() . '/js/admin_scripts.js', array('jquery-ui-dialog'));
}
wall_post_new
от callback vk, парсит данные, обращается к API WordPress wp_insert_post
.<?php
if (!isset($_REQUEST)) {
return;
}
//Строка для подтверждения адреса сервера из настроек Callback API
$confirmation_token = '';
//Получаем и декодируем уведомление
$data = json_decode(file_get_contents('php://input'));
//Проверяем, что находится в поле "type"
switch ($data->type) {
//Если это уведомление для подтверждения адреса сервера...
case 'confirmation':
//...отправляем строку для подтверждения адреса
echo $confirmation_token;
break;
//Если это уведомление о новом посте...
case 'wall_post_new':
//...получаем текст поста
$post_text = $data->object->text;
//...получаем вложения поста
$post_attachments = $data->object->attachments; //Является массивом, обходится форичем
//...мы получили минимум необходимых данных (можно получить и авторство и прочие данные, подробнее https://vk.com/dev/objects/post )
//...после этого мы обращаемся к Wordpress API, метод wp_insert_post
//Возвращаем "ok" серверу Callback API. Обязательно! Требование вк.
echo('ok');
break;
}
var isMobile = {
Android: function() { return navigator.userAgent.match(/Android/i) ? true : false; },
BlackBerry: function() { return navigator.userAgent.match(/BlackBerry/i) ? true : false; },
iOS: function() { return navigator.userAgent.match(/iPhone|iPad|iPod/i) ? true : false; },
Windows: function() { return navigator.userAgent.match(/IEMobile/i) ? true : false; },
any: function() { return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Windows()); }
};
if ( !isMobile.any() ) {
// Код не для телефонов
}