我在wordpress安装的模板目录中有一个search.php和stuff.php文件。当我http://example.com/search.php
时,我希望它解析为我的自定义search.php文件。我目前正在获得404。
该文件位于siteroot/wp-contents/themes/theme-name/
我需要另一个文件的相同行为。
谢谢!
答案 0 :(得分:0)
除非你导航到www.yourblog.com/wp-content/themes/your-theme/stuff.php,否则你的主题目录中的PHP文件将不会被自动获取,这实际上完全绕过了WordPress(不好) !)。默认情况下,WordPress会查找处理您网站内容的特定文件,这里有一个方便的图片,向您展示它是如何分解的:http://codex.wordpress.org/images/1/18/Template_Hierarchy.png
除此之外,如果您想要自己的搜索页面,您需要制作模板文件,然后让WordPress知道它存在以及何时使用它。使用上面链接的图片,你可以看出,如果你的主题目录中有一个名为search.php(小写)的文件,WordPress应该把它拿起并自动用作搜索页面。除此之外,您还可以根据需要搜索的内容获得许多不同的搜索结果页面。查看过滤器template_include
- 更多信息:http://codex.wordpress.org/Plugin_API/Filter_Reference/template_include
以上是上一页的快速示例,其中显示了如何为给定的用例定义模板PHP文件:
add_filter( 'template_include', 'portfolio_page_template', 99 );
function portfolio_page_template( $template ) {
if ( is_page( 'portfolio' ) ) {
$new_template = locate_template( array( 'portfolio-page-template.php' ) );
if ( '' != $new_template ) {
return $new_template ;
}
}
return $template;
}
注意它是怎么说" is_page"顶部?这是一个条件标记,WordPress提供了许多帮助确定访问者请求的页面类型。有关模板标记列表(包括is_search
),请查看:http://codex.wordpress.org/Conditional_Tags
希望有帮助,如果您需要更多帮助,请回复。
编辑 - 抱歉,我没有看到您的标题,如果您正在尝试将网址映射到您需要创建重写规则的自定义文件。这是一个很棒的演练:http://matty.co.za/2009/11/custom-url-rewrites-in-wordpress/