wordpress php post new blog, how to get response?

I am creating a new wp blog post via a php post. How can I get a response with the blog post id?
One way I can think of is to get the most recent blog post id, but I would like a more foolproof way of doing it.

<?php 
require_once("IXR_Library.php.inc");

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

$title="Blog Title"; // $title variable will insert your blog title 
$body="Blog Content"; // $body will insert your blog content (article content)

$category="category1, category2"; // 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('Your Blog Path/xmlrpc.php');

 $username = "USERNAME"; 
 $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";
?>

Related posts

Leave a Reply

1 comment

  1. instead of ending with

    else
        echo "Article Posted Successfully";
    

    Use:

    $ID =  $client->getResponse();
    if ($ID)
        echo 'Article Posted Successfully. ID = '.$ID;