当你访问的WordPress站点的网址不存在时,WordPress会调用主题的404.php模板来返回404错误信息,比如:
最近,我需要一种编程方式来触发我的一个免费WordPress插件中的404错误。幸运的是,WordPress使它非常容易实现。本快速教程介绍了两种不同的实现方法。
第一种方法
使用主题的404模板(即404.php)提供404“未找到”响应的第一种方法,我们可以通过wp钩子像下面这样插入我们的函数:
function shapeSpace_trigger_404() { global $wp_query; $wp_query->set_404(); status_header(404); } add_action('wp', 'shapeSpace_trigger_404');
然后在函数内部,声明全局变量,并使用set_404()方法在WP查询对象上设置404 。最后,我们使用WordPress status_header()函数设置404标头响应。该代码的最终结果是使用主题的模板文件404.php提供404 HTTP响应。
第二种方法
第二种方法使用pre_get_posts操作钩子设置404错误并提供主题404.php模板。代码像这样:
function shapeSpace_trigger_404($wp_query) { if ($wp_query->is_main_query()) { $wp_query->set_404(); status_header(404); } } add_action('pre_get_posts', 'shapeSpace_trigger_404');
在此方法中,我们使用pre_get_posts修改主WP查询。
第一种方法和第二种方法之间的主要区别是使用的钩子和$wp_query变量的获取。在第一种方法中,我们将其声明为全局变量。在第二种方法中,它通过pre_get_posts钩子传递给函数。
1. 如有链接无法下载、失效或广告,请联系QQ:181289218 处理!
2. 本站的所有资源为购买、网络收集,或者用户投稿的资源,版权归原作者及网站所有!
3. 如若侵犯了您的权利,请及时联系站长删除!
4. 本站提供的资源,都不包含技术服务请大家谅解!
5. 此软件“仅限学习交流,不能用于商业用途”!
6. 如用于商业用途,请到官方购买正版软件,追究法律责任与“云墨SEO”站点无关!
2. 本站的所有资源为购买、网络收集,或者用户投稿的资源,版权归原作者及网站所有!
3. 如若侵犯了您的权利,请及时联系站长删除!
4. 本站提供的资源,都不包含技术服务请大家谅解!
5. 此软件“仅限学习交流,不能用于商业用途”!
6. 如用于商业用途,请到官方购买正版软件,追究法律责任与“云墨SEO”站点无关!
- 我的微信
- 这是我的微信扫一扫
- 站长技术资源群
- QQ群:431710796
评论