ワードプレスで出力されるJSやHTMLを一旦変数に入れて加工し、再出力する方法のPHPコードを解説いたします。
出力を一旦変数に入れる関数ob_start
例えば下記のようなコードがあったとします。
echo "ワードプレス!";
上記コードは、ワードプレス! という文字列を即時出力しますが、このような出力をob_start、ob_get_cleanでくるむことで出力を一旦抑制し、変数に代入することが可能です。
ob_start(); echo "ワードプレス!"; $output = ob_get_clean();
このコードでは、ワードプレス!という文字列が$output変数に代入され、出力が抑制されますので、出力内容を加工することが可能になります。
例えばプラグインで即時何かを出力してしまうコードを使用するときでもこの方法は使えます。
ob_start(); plugin_function();//何らかのプラグインの関数 $output = ob_get_clean();
下記のようなHTML混在のコードでもこの方法を使用することができます。
ob_start(); ?> <div>出力されるHTML</div> <?php $output = ob_get_clean();
?>でPHPのプログラム部分が終わり<?phpでまた始まるまでの間のHTMLは自動で出力されますが、その全体をob_start、ob_get_cleanでくるんでいったん$output変数に入れて、置き換え処理等をすることができます。
処理が終わったら、再度echo 等で$outputを出力します。
echo $output;
ご参考になりましたら幸いです。
WordPress ワードプレスのテーマやプラグインの作成・カスタマイズのご依頼ご相談はWPドクターまでお気軽にお送りください