Möglich, die Posts oder Kategorien zu filtern, die XML-RPC-Benutzer in ihrer mobilen Anwendung sehen?

Ist es möglich, die Posts oder Kategorien zu filtern, die XML-RPC-Benutzer in ihrer mobilen Anwendung sehen?

Ich habe ein Plugin, das sich in pre_get_posts und list_terms_exclusions zu tun, was ich tun muss. Ich hatte Anfragen, die gleiche functionalität auf ihren Mobilgeräten zuzulassen.

Solutions Collecting From Web of "Möglich, die Posts oder Kategorien zu filtern, die XML-RPC-Benutzer in ihrer mobilen Anwendung sehen?"

Dieser Github-Repo hat bdn.getPosts erweiterte XML-RPC-function bdn.getPosts , um die Kategorie zu erhalten.

Erhalte 10 zuletzt geänderte Beiträge in der Sportkategorie ($ Kategorie kann entweder eine Slug oder eine ID sein)

  `array( 1, $username, $password, 'post', 'sports', 10, array( 'orderby' => 'modified' ) );` 

Ich habe nicht wirklich selbst experimentiert, aber als ich die xmlrpc.php-Datei geöffnet habe, sind mir mehrere Aktionen für xmlrpc_call aufgefallen.

Ich vermute, dass Sie dem xmlrpc-Aufruf basierend auf dem Benutzertyp Aktionen hinzufügen könnten.
ZB kann blogger_getPost () mit xmlrpc_call verknüpft werden, wenn xmlrpc_call == blogger.getPost.

Okay, also habe ich die Antwort auf meine Frage gefunden.

Es ist möglich, die Posts und Kategorien zu filtern, die Benutzer in ihrer XML-RPC-Anwendung sehen. Die Filter pre_get_posts und list_terms_exclusions werden über die XML-RPC-Methode blogger.getRecentPosts aufgerufen. Innerhalb dieser function ruft sie wp_get_recent_posts die get_posts . Mit anderen Worten, es gibt wirklich nichts Besonderes, wenn Sie sich in die oben genannten Filter einklinken.

Mein Problem war, dass ich für mein Plugin nur im admin if ( is_admin() : if ( is_admin()

LÖSUNG

Um sicherzustellen, dass es nur ausgetriggers wird, wenn es über eine XML-RPC-Anwendung angefordert wird, müssen Sie nur nach der Konstante XMLRPC_REQUEST suchen und die Aktion xmlrpc_call .

 if ( defined ( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST ) { add_action( 'xmlrpc_call', array( &$this, 'posts' ) ); } 

Innerhalb Ihres Callbacks, haken Sie sich in die Filter pre_get_posts und list_terms_exclusions .