XML-RPC:添加类别以发布数据

时间:2014-12-11 作者:user57040

我有一个通过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))

1 个回复
SO网友:birgire

将帖子分配给XML-RPC中的分类术语:

假设您的设置为:

                                     xml-rpc
                                    wp.newPost
                  (sender) site A -------------> site B (receiver)
您希望将新帖子分配给站点上给定的分类术语B.

从站点B:

然后您可以在接收站点上尝试以下操作B:

$post_data[\'tax_input\'] = array( \'category\' => array( 207 ) );
其中category id为的分类法207 网站上已存在B.

也可以使用其他支持的参数wp_insert_post(), 喜欢post_categorytags_input. 因此,在您的情况下,您还可以使用:

$post_data[\'post_category\'] = array( 207 );
从站点A:注意termsterms_names 参数由wp.newPost 查询,来自sending 地点A.

以下是该网站的一个示例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\' ),
            ),
        )
    )
);

结束