如何创建自定义分类404页

时间:2017-09-11 作者:Harmonic

我似乎找不到任何关于这方面的文档,谷歌只显示了由于分类法实施不当而导致404个页面的用户的结果。

我想为我的自定义分类显示一个自定义404页面。我希望有一个简单的命名约定,如taxonomy-{taxonomyName}.php. 也许是这样的404-taxonomy-{taxonomyName}.php

如果没有类似的内容,那么从默认的主404模板捕获分类页面的尝试的最佳方式是什么?

WordPress中是否有任何东西可以帮助实现这一点,或者我是否需要解析URL来确定用户是否位于分类页面上?

为了以防万一,下面是我的一个用例示例。

用户使用Google Autocomplete选择他们的位置。然后,用户get被重定向到其所在位置的分类页面。例如,用户选择加拿大安大略省多伦多市并重定向到mysite。com/location/canada/ontario/toronto。

目前,如果这些位置存在,分类模板将启动并显示所有属于的帖子。如果该位置不存在,则显示标准404页面。我希望能够显示类似“抱歉,目前您所在地区没有物品”。

任何想法或想法都会非常有用!

1 个回复
最合适的回答,由SO网友:Milo 整理而成

你可以filter any type of template 覆盖模板层次结构。在这种情况下,过滤器是404_template.

我们会检查location 设置了查询变量,这意味着URL与location 请求,但结果是404。在这种情况下,我们将加载404-taxonomy-location.php 样板

function wpd_custom_tax_404( $templates ){
    if( \'\' !== get_query_var( \'location\' ) ){
        $templates = locate_template( \'404-taxonomy-location.php\', false );
    }
    return $templates;
}
add_filter( \'404_template\', \'wpd_custom_tax_404\' );
此代码应该放在(子)主题中functions.php 文件

结束

相关推荐