Расширение 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.