PHP 設計

Laravel5 XML-RPC を使って WordPress に投稿する はじめの一歩

投稿日:

あるデータ構造を持つデータを閲覧させたい場合、それがWordPressの「投稿」オブジェクトの粒度と近いのであれば、WordPressにデータを表示させてしまうのが便利なんじゃないかと思い立った。デザインに凝ったテーマを利用できるし、お金を積めばTCDシリーズのような本気のテーマを利用することもできる。
バックエンドでデータを収集し定期的に投稿を更新すれば、有料テーマのSEO効果も手伝って有効なんじゃなかろうか。

XML-RPC

WordPressにプログラムから投稿する場合、XML-RPCを使うことになる。大抵の言語であれば使用できる。当然PHPでも利用できる。

いきなりXML-RPCの使い方から調べると時間がかかってしまうので、雰囲気を掴むために、The PHP Package Repository Packagistに登録されているyuzuru-s/post-to-wpを使わせて頂くことにする。これを最近慣れてきたLaravel5から利用する。

XML-RPC php-package

当然、XML-RPCパッケージが必要なので、インストールしておく必要がある。php-intl,php-soap,php-ldapは不要なんじゃないかと思うけど一応。

How to use XML-RPC in Laravel5

composer.json に以下の記述を追加する。

Yuzuru¥Wordpress¥という名前空間をautoloadできるように
composer update,install,dump-autoload

Controller

真似ながら GETで http://domain/hogeにアクセスしたときにWordPress に投稿するサンプルを書く。
TestController.phpというファイルを書く。YuzuruS\Wordpressという名前空間にあるPostクラスが通っているところに注意。

route

routes.webに GET で /hoge にアクセスがあったときに TestController.phpの test()メソッドを実行するよう記述する。
http://domain/hoge をブラウザで叩くと、見事にWordPressに記事が投稿されている。このクラスはサムネイル画像も貼れるのが特徴のようだ。

まとめ

まとめと言っても、サンプルを真似てみただけだが、コードからWordPressに投稿できることを確認した。
実際は、CRUDが出来ないと話にならないので中を理解していかないといけないだろうな。

-PHP, 設計
-

Copyright© ikuty.com , 2018 AllRights Reserved Powered by AFFINGER4.