Movable Type は Perl で作られていますが、PHP からもデータにアクセスするためのインターフェースが用意されていました。思っていたよりも簡単に PHP から指定した ID の記事の情報を取得することができましたので、下記に記載します。動作確認を行ったバージョンは MTOS 5.12 です。
前提として MT の構成ファイルは DocumentRoot/mt に設置されており、下記の PHP ファイルは DocumentRoot に設置されるものとします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<?php // MTのデータをPHPから扱うためのライブラリをロードします。 require_once 'mt/php/mt.php'; require_once 'mt/php/lib/MTUtil.php'; // 取得したい記事が所属しているブログのIDと、記事のIDを指定します。 $blog_id = 2; $entry_id = 100; // MTのデータを扱うためのクラスのインスタンスを取得します。 $mt = MT::get_instance($blog_id, 'mt/mt-config.cgi'); // 記事の取得に使うメソッドに渡す引数を準備します。 // limitは取得する件数です。今回は1件だけ取得します。 $args['blog_id'] = $blog_id; $args['entry_id'] = $entry_id; $args['limit'] = 1; // fetch_entriesメソッドを使って情報を取得します。 // $entriesには取得した記事のオブジェクトが配列として格納されます。 $entries = $mt->db()->fetch_entries($args); // 中身を確認します。今回は1件だけの取得なので0番目だけに情報が入っています。 var_dump($entries[0]); |
Movable TypeをPHPから操作する方法について、あまり情報が出回っていませんでした。PHPからMTを操作できたら確実に便利なので、いろいろと調査をして記事にしたいと思っています。
[…] [Movable Type]PHPから特定のIDの記事のタイトル、本文、ステータス等を含んだ… […]