2017年05月30日 WordPressphp

必要なライブラリをダウンロード

XML-RPCを利用するのに必要なライブラリをダウンロードして、インクルードします。 IXR_Library.phpをダウンロード
include_once("IXR_Library.php");
$client=new IXR_Client("http://wordpress-domain.com/xmlrpc.php");

新規投稿の設定

	$wp_username="WP-USERNAME";
	$wp_password="WP-PASSWORD";

	$postdate = new IXR_Date(mktime(0,0,0,4,20,2017));
	$gmtpostdate = new IXR_Date(mktime(0,0,0,4,20,2017));  

$url = "http://~~";


$status = $client->query(	'metaWeblog.newPost',
						'',
						$wp_username,
						$wp_password,
						array(
  							'title' => $title,
								'description' => $description,
								'dateCreated' => $postdate,
								'date_created_gmt' => $gmtpostdate,
  							// その他、カスタムフィールド、アイキャッチ、タグなどをここで設定可能①
								'post_status' => 'publish'
							),
						2);	// 0:下書き 1:公開 2:予約投稿
 

 if($status){ echo "成功";}
else{ echo $client->getErrorMessage();}

カスタムフィールドなどを設定する

上のコードの①のあたりに追加します。アイキャッチの場合はメディアIDを指定します。

設定出来るパラメータはこちらで確認出来ます。 XML-RPC MetaWeblog API

//カスタムフィールドを設定する
	 "custom_fields" => array(
           array( "key" => "url", "value" => $url ),
	 ),
//タグを設定する
       'mt_keywords' =>  array('tag1', 'tag2', 'tag3'),

//アイキャッチを設定する
'wp_post_thumbnail' => $img["id"],

画像のアップロード

$thumbnail_url = "http://~~~~.png";

$filename = pathinfo( $thumbnail_url );
$filename = $filename["basename"];
$imgInfo = getimagesize($thumbnail_url);
$type = $imgInfo["mime"];

$bits = new IXR_Base64(file_get_contents($thumbnail_url));
$status1 = $client->query(
"wp.uploadFile",
1,
$wp_username,
$wp_password,
array(
        "name" => $filename,
        "type" => $type,
        "bits" => $bits,
        "overwrite" => false,
        "post_id" => $post_id
)
);
$img = $client->getResponse();
echo $client->getErrorMessage();

投稿した画像のメディアIDを取得
$media_id = $img["id"];

この投稿へのコメント

コメントはまだありません。

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CAPTCHA


ピックアップ記事

PHP&MySQLのINSERTで文字化けする場合の対処法

2012年01月31日 php
クエリの実行前に以下を追記すると直ります。 [php]<?php mysql_set_charset('utf8'); ?>[/php]
「PHP&MySQLのINSERTで文字化けする場合の対処法」をはてなブックマークに追加

wordpress カスタムフィールドの値で記事一覧取得、並び替え

2020年01月10日 WordPress
カスタムフィールドの条件が一つの場合 [php]<?php $args = array( 'posts_per_page' => -1, // 全件取得 'category' => array( 12,14 ), // カテゴリ 'meta_key' => 'finished', //カスタムフィールドのキー 'meta_value'…
「wordpress カスタムフィールドの値で記事一覧取得、並び替え」をはてなブックマークに追加

重複しないWordPressのdescription設定

2014年08月14日 web関連WordPressphpSEO対策
重複しないWordPressのdescriptionのコードを書いてみました。 おおまかな確認はしていますが、細かいチェックは出来てません・・・m(_ _)m Gistはこちら [php]<?php //descriptionの設定 function set_description(){ global $post; $content = $post->…
「重複しないWordPressのdescription設定」をはてなブックマークに追加

PHP IE6かどうかユーザーエージェントを調べる

2011年06月17日 php
IE6のシェアが低くなってきているので、いまさら感はありますが、それでもIE6を完全無視出来ない場合があるので、メモしておきます。 PHPでユーザーエージェントを見分けて、IE6とそれ以外を切り分ける時に使えると思います。 …
「PHP IE6かどうかユーザーエージェントを調べる」をはてなブックマークに追加

WordPressのWP-PageNaviが動かない場合の対処法

2012年02月04日 WordPress
WP-PageNaviは、WordPressでページングを可能にしてくれるプラグインですが、以下のように「query_posts」を指定していると、正常に動かないようです。 WP-PageNaviが正常に動かない例 [php]<?php if ( have_posts() ) : query_posts('cat=1&showposts=5' ); ?> [/php] 上記…
「WordPressのWP-PageNaviが動かない場合の対処法」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy