2

私はかなり長い間試みてきましたが、それでも「未分類」としてのみ投稿されます。ドキュメントでは、カテゴリIDとして整数値を使用すると記載されていますが、それは機能しません。カテゴリ名もそのまま小文字で書いて、スラッグも入れてみました。ドキュメントによると、私はすべてを正しく行っていますが、それでも機能しません! wp. ​​newPostであり、 wp_insert_post()を使用するため。

public function create_post( $title, $body )
{
    $title = htmlentities( $title, ENT_NOQUOTES, 'UTF-8' );
    $content = array(
        'post_category' => array( 18 ), // my category id
        'post_type' => 'post',
        'post_status' => 'pending',
        'post_title' => $title,
        'post_content' => $body,
        'comment_status' => 'closed',
    );

    $params = array( 0, $this->username, $this->password, $content );
    return $this->send_request( 'wp.newPost', $params );
}
4

2 に答える 2

6

最近、新しいAPIの使用を開始しました。

新しいドキュメントに記載されているように、XML-RPCリクエストでterms_namesパラメータを使用する必要があります。

http://codex.wordpress.org/XML-RPC_WordPress_API/Posts#wp.newPost

例:

コードを次のように変更する必要があります。

public function create_post( $title, $body )
{
    $title = htmlentities( $title, ENT_NOQUOTES, 'UTF-8' );
    $content = array(
        'post_type' => 'post',
        'post_status' => 'pending',
        'post_title' => $title,
        'post_content' => $body,
        'terms' => array('category' => array( 18 ) ),
        'comment_status' => 'closed',
    );

    $params = array( 0, $this->username, $this->password, $content );
    return $this->send_request( 'wp.newPost', $params );
}

このAPIメソッドに1つの問題がありますが、PostIDは誤ったブール値のみを返すわけではありません。カテゴリを挿入することに運が良かったかどうか、そしてPOSTIDを受け取ることができたかどうかを教えてください。

于 2012-09-19T10:53:13.013 に答える
0

ありがとう、これは命の恩人です!投稿にタグを提供する必要がある場合は、次tags_inputのように、プロパティを使用して配列でタグを渡すことができます。

$content['tags_input'] = "action, adventure, thriller";

特定のタイムスタンプを渡す必要がある場合は、次の形式を使用する必要があります

D, d M Y H:i:s +0000

post_dateorpost_date_gmtプロパティを使用して渡します。

$content['post_date_gmt | post_date'] = date("D, d M Y H:i:s +0000", strtotime($your_specific_date_and_time));

それが将来誰かに役立つことを願っています!

于 2013-02-20T18:51:43.230 に答える