2012-02-10 13 views
3

XMLRPC経由でWordpress(3.3.1)の投稿に複数のカテゴリを追加しようとしています。 XMLRPC経由のWordpress投稿 - 複数のカテゴリを追加する

この

は私のコードである(それは罰金作品 、下記をお読みください):

<? 
error_reporting(E_ALL); 
ini_set('display_errors', '1'); 


require_once("IXR_Library.php.inc"); // http://www.hurricanesoftwares.com/php_uploads/IXR_Library.txt 

$client->debug = true; //Set it to false in Production Environment 

$title="Blog Title5"; // $title variable will insert your blog title 
$body = "teste xmlrpc <a href='http://www.teste.com'>teste.com</a>"; 

$category="DVDSCR, Telesync"; // Comma seperated pre existing categories. Ensure that these categories exists in your blog. 
$keywords="keyword1, keyword2, keyword3"; 

$customfields=array('key'=>'Author-bio', 'value'=>'Autor Bio Here'); // Insert your custom values like this in Key, Value format 


    $title = htmlentities($title,ENT_NOQUOTES,$encoding); 
    $keywords = htmlentities($keywords,ENT_NOQUOTES,$encoding); 

    $content = array(
     'title'=>$title, 
     'description'=>$body, 
     'mt_allow_comments'=>0, // 1 to allow comments 
     'mt_allow_pings'=>0, // 1 to allow trackbacks 
     'post_type'=>'post', 
     'mt_keywords'=>$keywords, 
     'categories'=>array($category), 
     'custom_fields' => array($customfields) 


    ); 

// Create the client object 
$client = new IXR_Client('http://127.0.0.1/xmlrpc.php'); 

$username = "admin"; 
$password = "password"; 
$params = array(0,$username,$password,$content,true); // Last parameter is 'true' which means post immideately, to save as draft set it as 'false' 

// Run a query for PHP 
if (!$client->query('metaWeblog.newPost', $params)) { 
    die('Something went wrong - '.$client->getErrorCode().' : '.$client->getErrorMessage()); 
} 
else 
    echo "Article Posted Successfully"; 

?> 

エラー:私は複数のカテゴリを追加しようと
ポストカテゴリが未分類に設定されています(デフォルト)。

$category = "telesync, dvdscr"; 

と、この:私はポストに一つのカテゴリーよりも多くを追加することができますどのように

$category =array('telesync','dvdscr'); 

私はすでにこれを試してみましたか? ありがとうございました! $コンテンツ変数は次のようになります

'categories'=>array("telesync", "1080p"), 

::私はのようないくつかの他のオプションをテストした後の答えを見つけた

答えて

2

$content = array(
    'title'=>$title, 
    'description'=>$body, 
    'mt_allow_comments'=>0, // 1 to allow comments 
    'mt_allow_pings'=>0, // 1 to allow trackbacks 
    'post_type'=>'post', 
    'mt_keywords'=>$keywords, 
    'categories'=>array("telesync", "1080p"), // I've typed the categories directly here. 
    'custom_fields' => array($customfields) 


); 
0

を、私はこれは少し遅れている知っているが、同じ問題に遭遇した人には、最初の推測が最良の解決策でした(カテゴリを直接入力するのではなく、変数として渡すのが最善です)。

$category =array('telesync','dvdscr'); 

我々はすでに配列として$categoryを宣言したので、私達はちょうどcategories=>array($category)「配列」を削除する必要があります。だから、代わりに:

'categories'=>array($category), 

使用:

'categories'=>$category, 

、それが動作するはずです。

関連する問題