Intereting Posts
Добавьте дополнительные пользовательские поля при создании нового настраиваемого типа сообщений BuddyPress – Поиск участников по имени, а также по имени пользователя Меню Polylang Flags не отображается на главной странице WordPress-фильтрация utm_ GET переменных из URL-адреса, если не войти в систему как администратор, не знаете почему? Как создать статус пользовательского заказа в woocommerce! Случайная перерисовка страницы Можно ли фильтровать комментарии в сообщении, чтобы пользователь мог видеть только комментарии, которые они написали? Как я могу получить счет из запроса Функциональность плагина только для редактора и администратора Действительно ли функция «потерянного пароля» является уязвимостью? Вставить листок Google, когда вы просматриваете его на отдельной вкладке? Используемый зарезервированный термин для пользовательской таксономии, теперь перенаправление страниц верхнего уровня Добавление фильтра | Название страницы | Шаблоны | Почему the_title влияет на меню? WP_QUERY возвращает пустой набор при запуске из запланированного события WP-CRON После создания иерархического типа сообщения все еще не получается установить родительский

Расширение xml rpc – лучшая практика

Мне нужно добавить пользовательские методы в файл Xml-Rpc и найти следующее:


// Custom plugins add_filter('xmlrpc_methods', 'custom_xmlrpc_methods');

function custom_xmlrpc_methods ($ methods) {$ methods ['myMethod'] = 'my_function'; return $ methods; }

Вопросов:

  • Возможно ли иметь функцию обратного вызова в другом файле, и если да, то как вы это делаете в коде?
  • Если у меня есть множество пользовательских методов, что лучше всего подходит для этого?

Спасибо, Майкл

Solutions Collecting From Web of "Расширение xml rpc – лучшая практика"

Если у меня есть множество пользовательских методов, что лучше всего подходит для этого?

Вместо фильтрации xmlrpc_methods вы можете расширить класс wp_xmlrpc_server и установить свой класс по умолчанию с помощью фильтра wp_xmlrpc_server_class .

 // Webeo_XMLRPC.php include_once(ABSPATH . WPINC . '/class-IXR.php'); include_once(ABSPATH . WPINC . '/class-wp-xmlrpc-server.php'); class Webeo_XMLRPC extends wp_xmlrpc_server { public function __construct() { parent::__construct(); $methods = array( 'webeo.getPost' => 'this:webeo_getPost', 'webeo.getPosts' => 'this:webeo_getPosts' ); $this->methods = array_merge($this->methods, $methods); } public static function webeo_getName() { return __CLASS__; } public function sayHello($args) { return 'Hello Commander!'; } public function webeo_getPost($args) { // do the magic } public function webeo_getPosts($args) { // do the magic } } add_filter('wp_xmlrpc_server_class', array('Webeo_XMLRPC', 'webeo_getName')); 

Это не realyl имеет много общего с WordPress, просто общий PHP и ваши личные предпочтения в кодировании.

Возможно ли иметь функцию обратного вызова в другом файле, и если да, то как вы это делаете в коде?

Как и любой PHP-код, вы можете разделить его между файлами и загрузить их с помощью include .

Если у меня есть множество пользовательских методов, что лучше всего подходит для этого?

Что касается меня (если вы не используете классы), то сделает один файл со всеми организованными каким-либо образом (например, по назначению от алфавита).

Если вы хотите использовать другие существующие функции WordPress, которые не включены в их XML-RPC, попробуйте использовать плагин Extend XML-RPC API .

Этот плагин был создан для упрощения интеграции WordPress с внешними платформами и внешним кодом. Хотя существующий WordPress XML-RPC API предоставляет много функциональности, он не обеспечивает все. Этот плагин позволяет вызывать почти любую стандартную функцию WordPress через API.

В противном случае загрузите этот плагин и используйте код в качестве примера … вам должно быть достаточно, чтобы вы могли понять, как добавить свои собственные плагины в XML-RPC.