1

我对 php 和 wordpress 比较陌生,我想知道如何在没有 include 语句的情况下呈现 php 文件。

例如,如果我有两个文件plugin.phpcomponent.php

插件.php

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

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

组件.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但是非常危险,不应该在生产中使用。

如果这是用于生产,我建议使用钩子/过滤器(参见 wordpress 源代码)。这使您可以即时执行代码块,但受到更多限制。

于 2013-02-23T14:42:05.283 回答