XML-RPC: Kategorie zu Post-Daten hinzufügen

Ich habe einen Dienst, der einen täglichen Beitrag über XML-RPC in meinen Blog schreibt. Es bietet mir keine Kontrolle darüber, in welche Kategorie es geht, also möchte ich einfach einen Filter / Hook hinzufügen, um die Kategorie, die ich möchte, in die eingehenden Postdaten einzufügen:

add_action ('xmlrpc_call', 'check_xmlrpc_call' ); function check_xmlrpc_call( $method ) { if( 'wp.newPost' === $method ) { add_filter( 'xmlrpc_wp_insert_post_data', 'add_xmlrpc_category_post_data' ); } } function add_xmlrpc_category_post_data( $post_data ) { //not sure how to add category to the post data :( return $post_data; } 

Ich denke so etwas in meiner functions.php würde funktionieren? Ich bin einfach nicht sicher, das richtige Format, um eine Kategorie zu den Post-Daten hinzuzufügen?

Vielleicht das?

 $post_data['terms'] = array('category' => array(207)) 

Solutions Collecting From Web of "XML-RPC: Kategorie zu Post-Daten hinzufügen"

Zuweisen von Beiträgen zu Taxonomiebegriffen in XML-RPC:

Nehmen wir an, Ihr Setup ist:

  xml-rpc wp.newPost (sender) site A -------------> site B (receiver) 

und Sie möchten die neuen Beiträge einer gegebenen Taxonomie-Terminologie vor Ort zuweisen. B.

Von Standort B:

Dann können Sie Folgendes auf der Empfangsseite B versuchen:

 $post_data['tax_input'] = array( 'category' => array( 207 ) ); 

wo die category mit der ID 207 bereits auf der Site B .

Es ist auch möglich, die anderen unterstützten Parameter von wp_insert_post() , wie post_category oder tags_input . In Ihrem Fall könnten Sie daher auch verwenden:

 $post_data['post_category'] = array( 207 ); 

Von Standort A:

Beachten Sie, dass die Parameter terms und terms_names von der Payload der wp.newPost Abfrage von der sending Site A unterstützt werden .

Hier ist ein Beispiel für die Site A , wie man Terme einer gegebenen Taxonomie hinzufügen kann:

 $result = $client->query( 'wp.newPost', array( $blog_id, $user, $password, array( 'post_status' => 'draft', 'post_title' => 'Test', 'post_content' => 'We are testing XML-RPC!', 'terms_names' => array( 'post_tag' => array( 'xml-rpc' ), 'category' => array( 'wordpress-testing' ), ), ) ) );