在自定义php页面中包含wordpress主题

时间:2011-09-13 20:21:04

标签: php wordpress

我需要在Wordpress中包含一个自定义PHP页面。

所以我需要做的就是使用Wordpress上安装的Wordpress主题来显示这个自定义的php页面。

不介意在哪个主题上,自定义php页面必须在任何主题下显示在那一刻。

我如何在Wordpress中完成?

我是Wordpress开发的新手。

由于

4 个答案:

答案 0 :(得分:4)

创建一个可以在任何主题中查看(并且已应用主题)的自定义php页面将相当困难

每个wordpress页面调用该特定主题的特定主题功能,以及引用该主题的文件以生成页眉,页脚,css文件,javascript文件等。您的自定义页面需要计划所有这些意外事件,使用的每个可能的主题

这是另一种解决方案:通过此插件http://wordpress.org/extend/plugins/allow-php-in-posts-and-pages/

将PHP代码直接注入标准wordpress页面

含义:你制作一个普通的wordpress页面,但能够添加php。呈现此页面时,将使用正确的页面模板,并为您处理所有主题参考。

答案 1 :(得分:2)

您可以使用页面模板轻松完成此操作。 WordPress允许您创建页面模板,可以通过页面编辑器中的“页面属性”面板将其分配给页面。这些模板是主题目录中的php文件,以一些代码开头(有关详细信息,请参阅this page in The Codex):

<?php 
/*
Template name: Custom PHP Page
*/
?>

<?php // begin custom PHP page ?>

通常,模板是常规主题文件(例如page.php)的变体,并且会调用get_header()和get_footer()函数并拥有循环的实例。但是,如果您只想使用自定义PHP页面,那么您需要做的就是在当前主题目录中创建所需的文件,并在文件的最顶部添加上述代码。

要在您的网站上输出自定义PHP页面,您需要通过管理区域添加新页面,然后将新页面模板分配到此页面。

或者,如果要在现有主题文件中包含自定义PHP页面,请使用以下代码:

<?php include(TEMPLATEPATH . '/includes/file.php'); ?>

在这种情况下,您的自定义PHP文件将位于当前主题目录中名为“includes”的目录中。

答案 2 :(得分:1)

这并不困难。这就是你需要的:

一旦你包含了主要的wordpress博客标题,你就可以使用整个wordpress功能的设备,它可以让你获得活动主题的目录。一旦你得到它,只需包括主题的页眉和页脚。     

// If title is not displayed before loading the header, Wordpress displays "Page not found" as the title

echo "<head>
<title>Your page title</title>
</head>";

// Include the Main Wordpress blog header
include $_SERVER['DOCUMENT_ROOT']."/wp-blog-header.php";

//Now, you need to get the active theme's folder, and get a relative path to that folder

$homeurl=home_url();
$ddir= get_bloginfo( 'template_directory');
$current_theme_relative_path=substr_replace($ddir, "", 0, strlen($homeurl));
//echo "<br/>The relative path to the currently active theme is ".$current_theme_relative_path;

//Once you have the path, include the header and footer, adding your custom php code in between.
// Include the specific theme header you need

include $_SERVER['DOCUMENT_ROOT'].$current_theme_relative_path."/header.php";

// Your custom PHP code STARTS here

// Add anything you want to display to the user
echo "
<h2>
Your form has been submitted
</h2>";

// END of custom code


?> 



<?php
}

// Now end with the theme's footer
include $_SERVER['DOCUMENT_ROOT'].$current_theme_relative_path."/footer.php";

?> 

答案 3 :(得分:0)

非常有帮助(即使是2011-13的日期)

另外,谢谢你,我分享了我制作的版本

如果您的wordpress文件夹不在ROOT

,它会很有用

PasBin Link - wordpress custom php page

只需更改$ wplocalpath的值:

// Wordpress路径(如果wordpress不在ROOT

// $ wplocalpath =&#34; / Wordpress1&#34;;