カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

XML-RPC WordPress APIで記事を投稿

The Incutio XML-RPC Library for PHP
http://scripts.incutio.com/xmlrpc/
「Download the Library」をクリックしダウンロードします。

解凍すると「php-ixr-1.7.4」というフォルダーに「IXR_Library.php」というファイルがありますので
このファイルをインクルードするだけです

ライブラリをインクルード

include_once("php-ixr-1.7.4/IXR_Library.php");

投稿先アドレスを引数としてインスタンスを生成します。

$client = new IXR_Client("http://www.example.jp/xmlrpc.php");

WordPressのユーザー名とパスワードを設定します。

$wp_username = "username";
$wp_password = "password";

投稿の処理

$status = $client->query(
    "wp.newPost", //使うAPIを指定(wp.newPostは、新規投稿)
    1,            //ブログID 通常は1、マルチサイトの場合は変更が必要
    $wp_username, //ユーザー名
    $wp_password, //パスワード
    array(
        "post_author" => 1,                        //投稿者ID 未指定の場合、投稿者名なしになります
        "post_status" => "publish",                //投稿状態
        "post_title" => "テスト投稿です。",        //タイトル
        "post_content" => "テスト投稿本文です。",  //本文
        "terms" => array("category" => array(1)),  //カテゴリ
    )
);

if(!$status){
    die("エラー! - ".$client->getErrorCode()." : ".$client->getErrorMessage());
} else { 
    $post_id = $client->getResponse(); //返り値は投稿ID
}

続きを読む…»

4,403 views

WordPress テーマの一覧を取得

日本語の公式リファレンスが未記入だったので、覚書の意味も含めて書きたいと思います。

WordPressにて、現在インストールされているテーマの一覧を表示する方法です。
wp_get_themesという関数を使用します。

戻り値に各テーマの情報を連想配列で返してくれますので、ループして情報を取り出すことができます。

$themes = wp_get_themes();
print_r($themes);

続きを読む…»

2,251 views

PHPに拡張モジュールを追加 phpize

phpizeを使えば、PHPを再コンパイルすることなく拡張モジュールをビルドすることができます。

例としてPHP5.3.29の環境にzlibモジュールを追加してみます。

ソースの場所に移動

cd /usr/local/src/php-5.3.29/ext/zlib

phpizeを実行

phpize

以下のようなエラー発生することがあります。

Cannot find config.m4
Make sure that you run '/usr/local/bin/phpize' in the top level source directory of the module

続きを読む…»

10,828 views

MySQL 4から5へバージョンアップ

今回はまたまたとある環境でMySQLのバージョンアップを行いました。
4.1.20から5.0.95へのバージョンアップです。

ソースをダウンロードして解凍し、該当ディレクトリへ移動します。

コンパイルとインストール

configureを実行

./configure --with-charset=utf8 --with-extra-charset=all --with-mysqld-user=mysql
make
make install

インストールされるファイルやディレクトリ
/usr/local/lib/mysql … データディレクトリ
/usr/local/bin … mysql等の実行ファイル、その他関連コマンド
/usr/local/share/mysql … 言語ファイルや起動用のシェルスクリプト等
/usr/local/include/mysql … ヘッダーファイル


MySQLを初期化

/usr/local/bin/mysql_install_db --user=mysql \
--basedir=/usr/local \
--datadir=/usr/local/lib/mysql

続きを読む…»

1,582 views

PHP 5.2.xから5.3.xへバージョンアップ

とある環境でPHPをバージョンアップしました。
5.2.8から5.3.6へバージョンアップ。

仕様変更により推奨されない関数(Deplecated)でエラー。
今回はereg関連の関数でエラーでした。
代わりにpreg_matchを使用するようになっています。

他にも推奨されなくなった関数がありますので、詳しくは下記URLを参照してください。
PHP 5.3.x で推奨されない機能

その他、PEAR::DBでエラー。
元々のバージョンが以下の通り。
PEAR 1.50.2.18
DB 1.86
続きを読む…»

1,438 views