1

私はphpとwordpressに比較的慣れていないので、includeステートメントなしでphpファイルをレンダリングする方法を知りたいです。

たとえば、2つのファイルがplugin.phpあり、component.php

plugin.php

<?php
  add-shortcode('myshortcode', 'myshortcode-func');

  function myshortcode-func()
    // magic function that loads
    $result = LOAD('component.php');
    return $result;
  }
?>

component.php

<div>
   <img scr="<?php getimage() ?>" />
</div>

注意 :インクルードは、レンダリングをねじ込み、呼び出されたときにフローにページを挿入すると思うので、使用したくありません。

助けてくれてありがとう!

4

2 に答える 2

3

出力バッファを使用できます。

function myFunc(){
  ob_start();
  include('component.php');
  return ob_get_clean();
}
于 2013-02-23T14:44:02.637 に答える
1

方法:

$php = file_get_contents("component.php");
eval($php);

evalただし、非常に危険であり、本番環境では使用しないでください。

これが本番用の場合は、フック/フィルターを使用することをお勧めします(ワードプレスのソースコードを参照)。これにより、コードのブロックをその場で実行できますが、より制約があります。

于 2013-02-23T14:42:05.283 に答える