我似乎找不到任何关于这方面的文档,谷歌只显示了由于分类法实施不当而导致404个页面的用户的结果。
我想为我的自定义分类显示一个自定义404页面。我希望有一个简单的命名约定,如taxonomy-{taxonomyName}.php
. 也许是这样的404-taxonomy-{taxonomyName}.php
如果没有类似的内容,那么从默认的主404模板捕获分类页面的尝试的最佳方式是什么?
WordPress中是否有任何东西可以帮助实现这一点,或者我是否需要解析URL来确定用户是否位于分类页面上?
为了以防万一,下面是我的一个用例示例。
用户使用Google Autocomplete选择他们的位置。然后,用户get被重定向到其所在位置的分类页面。例如,用户选择加拿大安大略省多伦多市并重定向到mysite。com/location/canada/ontario/toronto。
目前,如果这些位置存在,分类模板将启动并显示所有属于的帖子。如果该位置不存在,则显示标准404页面。我希望能够显示类似“抱歉,目前您所在地区没有物品”。
任何想法或想法都会非常有用!
最合适的回答,由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
文件