如何在Wordpress主题中调用外部PHP文件


How do I call external PHP files inside of a Wordpress theme?

我正在使用一个现有的PHP web应用程序。它的站点结构类似于:

  • public_html
    • 包括
      • header.php
      • 样式.css
      • 页脚.php
    • 博客

我已经在/blog中安装了Wordpress。我正在尝试使用外部PHP应用程序的动态元素创建Wordpress主题。

以下是/blog/wp-content/themes/custom-theme/index.php:的示例

<?php
 include_once("../../../../include/header.php");
?>

主题没有复制标题代码。我尝试过相对路径的变化,以防万一,但没有成功。还有其他我没有考虑的因素吗?

如果WordPress在/blog中,则有一个名为ABSPATH的方便常量,用于保存该文件夹的路径。因此:

$inc_dir = dirname(ABSPATH) . '/include';   # /path/to/public_html/include
include_once "$inc_dir/header.php";


或者直接:

include_once dirname(ABSPATH) . '/include/header.php';

不过,鉴于您已经使用了正确的相对路径,请确保在相关的地方包含该文件。如果你把它包含在html注释或类似的东西中,你会得到意想不到的结果。

我相信"file_get_contents"也可以在这种情况下工作。

如果外部php文件是另一个程序的一部分,那么它也很方便。

"file_get_contents"是一种php方法,它将整个文件加载到一个字符串中。

请参阅us3.php.net/file_get_contents在各种情况下方便的呼叫。我用它在Wordpress中嵌入了一个ASP菜单。请参阅stackoverflow线程,并在此处提供示例:如何在php文件中包含.asp菜单文件?(ASP站点中的Wordpress博客文件夹)