javascript からワードプレスを呼び出す方法
この記事は、javascript からワードプレスを呼び出す方法を書いています。
例えば、プラグインか何かで大量の処理を行いたいとき。
通常は、タイムアウトで処理途中でサーバーに止められちゃいます。
じゃあ、どうするか。
分割して処理すればいいんです。
post データを1つづつ処理に渡せばいい。
java で loop を作って loop内で php を呼び出せばいい。
呼び出される php ファイル
javascript から ワードプレスを呼び出すっていったべさ。
ワードプレスで設定されているもの、ワードプレスの関数等々を php で使いたい。
こう書きます。
処理本体では、ワードプレスのプラグインとかで書くような、そのワードプレスの関数や変数を普通に使えます。
例えば、データベース情報。
と、なんでもできちゃう。
なので、データベース情報とかワードプレス情報とか閲覧できるとか、ファイルの閲覧等々の機能を入れないように。
(セキュリティーホールになってしまう)
この書き込みがあなたの一助になれば幸いです。
例えば、プラグインか何かで大量の処理を行いたいとき。
通常は、タイムアウトで処理途中でサーバーに止められちゃいます。
じゃあ、どうするか。
分割して処理すればいいんです。
javascript から php を呼び出して分割処理させる
post データを全部 XXX したい。post データを1つづつ処理に渡せばいい。
java で loop を作って loop内で php を呼び出せばいい。
avascript から ワードプレスを呼び出す javascript のひな型
avascript から ワードプレスを呼び出す javascript のひな型です。0001 :
0002 function wp_call_loop()
0003 {
0004 for(i=0;i<max;i++){
0005 wp_call('edit',postid[i]);
0006 }
0007 }
0008 function wp_call(commad,postid)
0009 {
0010 var URL = '';
0011 URL+= '$url';
0012 URL+= 'wp_xxxx_join.php?'; ← 呼び出す php ファイル
0013 URL+= 'c=compress'+'&'; ← オプション
0014 URL+= 'p='+postid+'&'; ← オプション
0015
0016 var request = new XMLHttpRequest();
0017 request.open('GET', URL, true);
0018 request.responseType = 'json';
0019 request.addEventListener('load', function (response) {
0020 var data = this.response;
0021 var ans1 = data.c;
0022 var ans2 = data.p;
0023 var ans3 = data.e;
0024 });
0025 request.send();
0026 }
0027 EOM;
呼び出される php ファイル
0001 <?php
0002 // 引数受け取り
0003 if(isset($_GET['c'])){$commd = $_GET['c'];}else{$commd = '';}
0004 if(isset($_GET['p'])){$postid= $_GET['p'];}else{$postid= '';}
0005
0006 // 処理
0007 if($commd=='a'){
0008 $errms = 'ERROR';
0009 }else{
0010 $errms = 'NORML';
0011 }
0012
0013 // 結果渡し引数
0014 $array = array(
0015 "c" => $commd,
0016 "p" => $postid,
0017 "e" => $errms,
0018 );
0019 // 戻り
0020 header("Content-Type: text/javascript; charset=utf-8");
0021 echo json_encode($array);
0022 ?>
avascript から ワードプレスを呼び出す
javascript から php を呼び出すのは前述の通り。javascript から ワードプレスを呼び出すっていったべさ。
ワードプレスで設定されているもの、ワードプレスの関数等々を php で使いたい。
こう書きます。
0001 <?php require_once($_SERVER[′DOCUMENT_ROOT′]. ′/wp/wp-load.php′ ); ?>
0002
0003 もしくは
0004
0005 <?php require_once((dirname( __FILE__ ) . ′/wp/wp-load.php′ ); ?>
0006
0007
0008 ( 処理本体 )
0009
処理本体では、ワードプレスのプラグインとかで書くような、そのワードプレスの関数や変数を普通に使えます。
例えば、データベース情報。
0001 <?php require_once($_SERVER[′DOCUMENT_ROOT′]. ′/wp/wp-load.php′ ); ?>
0002
0003 global $wpdb;
0004 global $table_prefix;
0005 echo '<pre>';
0006 var_dump($wpdb);
0007 echo '<pre/>';
0008
0009 echo 'DBNAME='.DBNAME.'
0010 ';
と、なんでもできちゃう。
なので、データベース情報とかワードプレス情報とか閲覧できるとか、ファイルの閲覧等々の機能を入れないように。
(セキュリティーホールになってしまう)
この書き込みがあなたの一助になれば幸いです。