使用している自動化ツールからWebブラウザを起動し、管理領域で特定のタイトルとコンテンツを含むWordpressの "Add Nwe Post"ページを開きます(毎回異なりますが、ローカルコンピュータ上で動的に生成されます)。
私は http://blog.mysite.com/wp-admin/post-new.php?post_title=sometitle を使用できることを知っています
これで結構です。ただし、 "content" URLパラメータを使用して投稿のコンテンツを設定しようとすると、プレーンテキストにしかなりません。 HTMLを設定した場合は自動的にエスケープされます。記事のHTMLコンテンツを設定する方法はありますか?
また、URLパラメータでページカテゴリを設定する方法もわかりません。
P.S .:プログラムで新しい投稿を作成するのではなく、事前に入力されたフィールドで[投稿の追加]ページを開くようにします。
問題は$content
がWordPressの予約変数なので、別の名前を使わなければならないということです。ここでは$pre_content
を使いました。
<?php
/**
* Plugin Name: T5 Editor content by request
* Description: Default text for post content from GET variable <code>pre_content</code>.
* Author: Thomas Scholz
* Author URI: http://toscho.de
* Version: 2012.06.30
*/
/*
* See wp-admin/includes/post.php function get_default_post_to_edit()
* There are also the filters 'default_title' and 'default_excerpt'
*/
add_filter( 'default_content', 't5_content_by_request', 10, 2 );
/**
* Fills the default content for post type 'post' if it is not empty.
*
* @param string $content
* @param object $post
* @return string
*/
function t5_content_by_request( $content, $post )
{
if ( ! empty ( $_GET['pre_content'] )
and current_user_can( 'edit_post', $post->ID )
and '' === $content
)
{
return $_GET['pre_content'];
}
return $content;
}