ページ読み込み
PHP実行ショートコードでページ読み込み
WordPressのページにPHPを実行するショートコードを記述し、他ページの内容を読み込むようにするための覚書です。
cocoonのchildテーマの functions.php に以下のコードを追加して、そのディレクトリの下に myphp フォルダを設置し、そこに urlhyouji.php など実行したい PHP を配置します。
ここで設定した urlhyouji.php は、指定した他ページの内容を読み込むプログラムです。
//子テーマに myphp/○○.phpを配置する場合のショートコード
//ショートコードを使ったphpファイルの呼び出し方法
function php_include_shortcode($params = array()) {
extract(shortcode_atts(array('file' => 'urlhyouji'), $params));
ob_start();
include(STYLESHEETPATH . "/myphp/$file.php");
return ob_get_clean();
}
add_shortcode('sc_php', 'php_include_shortcode');
urlhyouji.php
<?php /* 表示URL */ $url = "https://ne***.com/***/"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, false); curl_setopt($ch, CURLOPT_NOBODY, true); $output = curl_exec($ch); curl_close($ch); /* var_dump($output); */ ?>
もらってきたHPの記述をそのままにしているので、不要部分をコメントアウトしています。
最後のマーカー部分を消してしまうと、読み込んだページ内容を指定の場所に全部吐き出します。これを記述すると、読み込み元のページの表示には何の影響もありません。
curl_setopt の詳しい説明はこちら。
PHPをページで実行するには、
[sc_php file='urlhyouji']
ただ単に
[sc_php]
と書くと、ディフォルトで指定した urlhyouji.php を実行します。 file を指定することで他の PHP も実行できます。