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 表示中のURLを取得

2011年07月25日 php
PHPで、表示中のURLのクエリまで全て取得したい場合に有効な方法です。 単純にドメインやindex.phpなどの実行ファイル名までであれば、以下のようにすれば取得できます。 …
「PHP 表示中のURLを取得」をはてなブックマークに追加

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

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

指定カテゴリに属する記事の一覧を表示

2011年11月30日 WordPress
$categorysの配列を複数指定することで、複数のカテゴリから記事の一覧を取得することが可能です。 [php] <?php $categorys = array(27); for ($i=0; $i<count($categorys); $i++) : ?> <?php query_posts('cat='.$categorys[$i]); if (have_post…
「指定カテゴリに属する記事の一覧を表示」をはてなブックマークに追加

wp-cron で予期しない HTTP 応答コード: 401 が頻発

2020年01月16日 WordPress
サイトの WP-Cron システムへの呼び出しが頻発する問題がありました。予期しない HTTP 応答コード: 401 原因 Wordpressサイトにベーシック認証をかけていたため 解決方法 [php]#ベーシック認証でWP Cronを許可 Satisfy Any order deny,allow deny from all allow from 192.168.11.25…
「wp-cron で予期しない HTTP 応答コード: 401 が頻発」をはてなブックマークに追加

WordPress archive.phpで記事数を設定する

2011年06月24日 WordPressphp
WordPress をカスタマイズしていると、トップページでは○件、アーカイブは○件など、表示する記事件数を変えたい事があよくあります。そういう場合の対処法です。 今回は、テーマ内のarchive.phpを修正する事で対応します。 …
「WordPress archive.phpで記事数を設定する」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy