是否可以在其他文件夹中使用自定义页面模板?
我正在为WordPress建立一个小框架,可以反复用于主题,为了保持整洁,我想将自定义页面模板放在不同的文件夹中,而不是主题目录的根目录中。
你会怎么做?
是否可以在其他文件夹中使用自定义页面模板?
我正在为WordPress建立一个小框架,可以反复用于主题,为了保持整洁,我想将自定义页面模板放在不同的文件夹中,而不是主题目录的根目录中。
你会怎么做?
WordPress使用get_page_template()
要确定要使用的模板文件(可通过过滤器更改),请执行以下操作:
//for pages
add_filter( \'page_template\', \'My_custom_page_template\' );
function My_custom_page_template( $page_template )
{
if ( is_page( \'my-custom-page-slug\' ) ) {
$page_template = \'pathto/custom-page-template.php\';
}
return $page_template;
}
//for posts
add_filter( \'single_template\', \'My_custom_page_template\' );
function My_custom_page_template( $single_template )
{
if ( is_single( \'my-custom-page-slug\' ) ) {
$single_template = \'pathto/custom-post-template.php\';
}
return $single_template;
}
我想要与此相同的功能。看起来,如果没有核心更改,就不可能做到这一点,但我设法让它工作起来——以一种稍微不同的方式。
在主题的根目录中创建一个页面模板,称之为themename page loader。php
在该文件中输入以下代码:
/**
* Template Name: ThemeNAME Page Loader
*/
global $post;
// Define the post_name and the file name of the current page
$pslug = $post->post_name;
$pname = $pslug . \'.php\';
// Load the TEMPLATE file in your custom directory
require_once( TEMPLATEPATH . \'/views/\' . $pname );
然后在你的主题根目录中,为你的页面创建一个文件夹,在这个例子中我称之为我的视图。在该文件夹中放置页面模板,只需确保文件名与在中设置的页面名相同WP_ADMIN
.我正在运行ubuntu 10.04桌面,php5。3和wordpress 3.2.1。我将wordpress目录复制到/var/www/sitename/blog. 我已经设置了mysql,并编辑了wp配置。php。但当我导航到http://localhost/sitename/blog/wp-admin/install.php, 我只提供保存或下载安装。php文件。我可以在任何/var/www/ 目录,包括/var/www/site/blog/wp-admin/.我一直在寻找解决方案,但没有找到任何相