人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Wordpressプログラミングの質問です。すでに公開されている特定の投稿記事のカスタムフィールドに、値を直接書き込むPHPスクリプトを書きたいです。管理画面内から出なく、外部からそのPHPスクリプトにアクセスすることで実現したいと思っています。
例:
1)投稿記事A(公開済み)
2)ttp://example.com/xxx.php(Wordpress内のスクリプト)にアクセス
3)上記2)の時点で投稿記事Aに「キー=ABC,値=123」というカスタムフィールドを生成。
という流れです。
もし、すでに、「キー=ABC,値=123」というカスタムフィールドがあった場合は、上書きされるようにしたいです。

良いサンプルなどありましたら是非お教え下さい。
よろしくお願いします。

●質問者: kanienoteiou
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● hirorock
●100ポイント

その内容であれば、XMLRPCで実装可能ですね!

http://ja.forums.wordpress.org/topic/663


kanienoteiouさんのコメント
ありがとうございます! 勉強してみます!

2 ● rouge_2008
●400ポイント ベストアンサー

XMLRPCでも実装可能ですが、今回の質問の場合はWordPressの関数を使用してもっと簡単にできます。
※xmlrpc.phpは、外部から新規投稿、編集などを実行したい場合に利用するといいです。

// wp-load.phpの読み込み(※相対パスで指定しても大丈夫です。)
require_once('/(※WordPress設置ディレクトリの絶対パス※)/wp-load.php');

update_post_meta(投稿ID, 'ABC', '123');
// 投稿記事Aのidが50の場合、update_post_meta(50, 'ABC', '123');

/* 
 * カスタムフィールドの値を上書きしたいという事は、値は固定ではなく、フォームから
 * 入力した値あるいはスクリプト内で自動生成した値を保存したいのだと思いますが、
 * この場合、値を変数に対して渡すようにします。
 */

/* ? ここに自動生成のコードあるいは、$_POST変数等で$meta_valに代入 */
update_post_meta(投稿ID, 'ABC', $meta_val);



http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/update_post_meta

※$_POST変数等で受け取る場合は、必ずチェックを行ってから代入するようにします。(許可する文字列以外がある場合は、削除するようにするといいかもしれません。)

※2)の時点でのアクセスを、ユーザーがログインしている場合などに限定する場合は、さらにもう少しコードを追加する必要があります。
何らかの条件があるのでしたら、もう少し詳しく教えてください。


kanienoteiouさんのコメント
おお!コードを書いていただいてありがとうございます。 XMLRPCを使って解決できましたが、外部からの投稿である必要は無いので、書いていただいたコードも試してみます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ