将带有短代码的文件渲染到wordpress插件中

时间:2013-02-23 14:36:40

标签: php wordpress wordpress-plugin

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

例如,如果我有两个文件plugin.phpcomponent.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>

NB 我不想使用include,因为我认为它会在调用时拧紧渲染并在页面中插入页面。

谢谢你的帮助!

2 个答案:

答案 0 :(得分:3)

您可以使用输出缓冲区:

function myFunc(){
  ob_start();
  include('component.php');
  return ob_get_clean();
}

答案 1 :(得分:1)

如何:

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

eval非常危险,不应该用于制作。

如果这是用于制作,我建议使用hooks / filters(参见wordpress源代码)。这使您可以动态执行代码块,但更受限制。