質問: wordpressでajax通信している、phpファイルを読み込んで表示させたいのですがどうすればいいでしょうか。filezillaを使って、ローカルからリモートサイトにファイルを転送しています。 【作ったファイル】 2つphpファイルを作った。一つはメインのajax通信をするmain.php。2つ目は、ajax通信でクロスドメインを回避するために、外部のHTMLデータを取得する専用のget.php。 【やったこと】 ・main.phpファイルのコードに を付け保存し、wordpressで新しいページを追加のボタンを押すと、templateにexampleが選択として追加されているのが分かった。 テストでは、localhostで試していてそのコードはしっかり動作した。 しかし、main.phpで $(function() { $.ajax({ url: "get.php", と元々記述していたが、wordpressの Edit Page Add New Permalink ここのリンクをクリックして実行しても、 ajax通信ができていないとのエラーが出ました。 get.phpの方で同様に試したところ、htmlデータの表示される。 【質問】 ajax通信がmain.phpでlocalhostでは出来たのに、wordpressではできないのは何故でしょうか。passの指定が悪いのかと思い、 ../hoge/get.phpと変えたりしてみたのですが、ダメでした。wp-content内にファイルはあります。 /var/www/html/hoge/wp-content/hogeみたいな形です。 【追記】 デベロッパーツールのnetworkタブを見ると、get.php404という表示があり、取得できていないことが分かります。localhostでは動いているのですけども・・・。
回答: Wordpressでajaxを利用するにはwp側で用意しているphpファイルにリクエストを送る決まりになっているようです。 リクエスト後の処理はアクションフックで自作の関数を読み込ませて実行させます。 下記のサイトで詳しく紹介しているので参考までに。 http://hijiriworld.com/web/wordpress-ajax/