Php Wordpress将URL映射到自定义文件
我在wordpress安装的模板目录中有一个search.php和stuff.php文件。当我做Php Wordpress将URL映射到自定义文件,php,wordpress,wordpress-theming,Php,Wordpress,Wordpress Theming,我在wordpress安装的模板目录中有一个search.php和stuff.php文件。当我做http://example.com/search.php我希望它解析为我的custom search.php文件。我现在得到一个404 该文件位于siteroot/wp contents/themes/theme name/ 对于另一个文件,我需要相同的行为 谢谢 除非您导航到www.yourblog.com/wp-content/themes/your-theme/stuff.PHP,否则主题目录
http://example.com/search.php
我希望它解析为我的custom search.php文件。我现在得到一个404
该文件位于siteroot/wp contents/themes/theme name/
对于另一个文件,我需要相同的行为
谢谢 除非您导航到www.yourblog.com/wp-content/themes/your-theme/stuff.PHP,否则主题目录中的PHP文件不会被自动拾取,这实际上完全绕过了WordPress(不好!)。默认情况下,WordPress会查找处理站点页面内容的特定文件,下面是一张方便的图片,显示了它的分解方式: 除此之外,如果你想打开自己的搜索页面,你需要制作一个模板文件,然后让WordPress知道它的存在以及何时使用它。使用我上面链接的图片,您可以知道,如果您的主题目录中有一个名为search.php(小写)的文件,WordPress应该自动将其作为搜索页面使用。除此之外,您还可以根据需要搜索的内容拥有许多不同的搜索结果页面。查看过滤器
模板\u包括-更多信息如下:
下面是上面页面中的一个快速示例,展示了如何为给定用例定义模板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;
}
注意上面是怎么写的“页面”a吗?这是一个有条件的标签,WordPress提供了许多标签来帮助确定访问者请求的页面类型。有关模板标记的列表(包括is\u search
),请查看:
希望这有帮助,如果你需要更多的帮助,请回复
编辑-抱歉,我没有看到您的标题,如果您试图将URL映射到自定义文件,则需要创建重写规则。下面是一个很棒的演练: