Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress将URL映射到自定义文件_Php_Wordpress_Wordpress Theming - Fatal编程技术网

Php Wordpress将URL映射到自定义文件

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,否则主题目录

我在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,否则主题目录中的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映射到自定义文件,则需要创建重写规则。下面是一个很棒的演练: