WordPress投稿内でAngularJSを使ってPHPを実行し、取得した値を表示する方法についてです。
ここでは、WordPressサイト全体でAngularJSが利用できる状態であると仮定しています。
AngularJSをテーマのheader.phpでインクルードする手順は下記参照。
ブートストラップ3を使って作成したナビゲーションメニューをAngularJSを使う形に変更する方法
1)簡単なphpコード作成
(hello.php)
<?php
print “Hello World!”;
?>
2)AngularJSでスクリプト作成
AngularJSの$httpサービスを使って上記PHPスクリプトにアクセスし、実行した値”Hello World!”を取得します。
$scope.phpDataに上記で取得した値を設定します。
(php.js)
var myApp = angular.module('myApp', []);
myApp.controller('phpCtrl', ['$scope', '$http', function ($scope, $http) {
$http({
method: 'get',
url: 'http://www.example.com/wp/wp-content/themes/testtm/js/php/hello.php'
}).success(function(data) {
$scope.phpData = data;
});
}]);
3)WordPress投稿本文
・上記スクリプトphp.jsをインクルードします。
・スクリプトで定義したコントローラの名前”phpCtrl”を記述します。
<div ng-controller=”phpCtrl”>
・PHPで実行した値はスクリプト内で$scope.phpDataに保存されているので、この変数を投稿内でバインドして表示します。
{{phpData}}
<script type='text/javascript' src='http://www.example.com/wp/wp-content/themes/testtm/js/php.js'></script>
<div ng-controller="phpCtrl">
{{phpData}}
</div>