Создать новое сообщение в wordpress с XML-RPC с правильным GUID?

Когда я использую XML-RPC для создания нового сообщения вместо wp_insert_post, сообщение создается с неправильным указателем / URL. С помощью XML-RPC директива создается с идентификатором не slug.

// Input data $my_page = array(); $my_page["post_title"] = $alternatename_main; $my_page["post_content"] = $postcontent; $my_page["post_excerpt"] = $postexcerpt; $my_page["post_status"] = "publish"; $my_page["post_date"] = date("Ymd H:i:s"); $my_page["post_author"] = 1; $my_page['post_type'] = 'post'; $my_page["post_name"] = "test1234"; // Local insert $my_page_id = wp_insert_post($my_page); $wp_post_data = get_post($my_page_id); $wp_guid = $wp_post_data->guid; 

Результат: $ wp_guid = http: // test / site / test1234 /

 // Insert XML-RPC include_once( ABSPATH . WPINC . '/class-IXR.php' ); include_once( ABSPATH . WPINC . '/class-wp-http-ixr-client.php' ); $client = new WP_HTTP_IXR_Client('http://test/site/xmlrpc.php'); $client -> debug = true; //optional but useful $username = "yyyyyy"; $password = "xxxxxx"; $params = array(0,$username,$password,$my_page); $clientresult = $client->query('wp.newPost', $params); $my_page_id = $client->getResponse(); $wp_guid = get_the_guid($my_page_id); 

Результат: $ wp_guid = http: // test / site /? P = 12721

Я тестировал:

 $wp_post_data = get_post($my_page_id); $wp_slug = $wp_post_data->post_name; $my_page_update = array(); $my_page_update["guid"] = "http://test/site/".$wp_slug."/"; $params = array(0,$username,$password,$my_page_id,$my_page_update); $clientresult = $client->query('wp.editPost', $params); 

Но это не сработает.

Единственное решение, которое я могу найти, – использовать raw sql:

 UPDATE wp_posts SET guid='"http://test/site/".$wp_slug."/"' WHERE ID=".$my_page_id ."; 

Я не могу понять, почему сообщение создается с помощью другого guid, оба сообщения создаются с правильным пулемётом. Ошибка в wp.newPost? Кто-нибудь имеет ответ? Тест выполняется на той же установке WordPress.

Solutions Collecting From Web of "Создать новое сообщение в wordpress с XML-RPC с правильным GUID?"

Это раздражающая проблема, но есть способ получить правильную ссылку, если я это сделаю:

 $my_page_ask = array( 'link', 'guid' ); $params = array(0,$username,$password,$my_page_id, $my_page_ask); $clientresult = $client->query('wp.getPost', $params); $post = $client->getResponse(); 

Строковая ссылка содержит правильную ссылку, если:

 $my_page["post_status"] = "publish"; 

Он не работает над черновиком, и строка guid все еще содержит неправильное значение.