私は毎日XML-RPC経由で私のブログに投稿するサービスを持っています。それは私がそれがどのカテゴリーに入るのかについて私にはいかなるコントロールも提供しないので私は入ってくる投稿データに欲しいカテゴリーを加えるためにただフィルター/フックを加えたいです:
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;
}
私のfunctions.php
でこのようなものがうまくいくと思いますか?投稿データにカテゴリを追加するための正しい形式がわからないのですが。
たぶんこれ?
$post_data['terms'] = array('category' => array(207))
設定が次のようになっているとしましょう。
xml-rpc
wp.newPost
(sender) site A -------------> site B (receiver)
そして、あなたは新しい投稿をsite _ b _ 上の与えられた分類用語に割り当てたいと思います。
その後、 受け取り site _ b _ で次のことを試すことができます。
$post_data['tax_input'] = array( 'category' => array( 207 ) );
iDが207
のcategory
分類法は、既にサイトB
に存在します。
post_category
やtags_input
のような他のサポートされているwp_insert_post()
のパラメータを使うことも可能です。あなたの場合は、それゆえにあなたも使用することができます:
$post_data['post_category'] = array( 207 );
terms
およびterms_names
パラメータは、sending
site _ a _ からのwp.newPost
クエリのペイロードでサポートされていることに注意してください。
これは、サイト _ a _ の例です。与えられた分類法の用語を追加する方法は次のとおりです。
$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' ),
),
)
)
);