wordpress - 在 Wordpress 中为非现有页面(覆盖 404)设置数据
问题描述
我有以下问题:
我有几个不存在的页面,例如当 URL 中有“详细信息”后跟一个 ID 时,如 mydomain.com/detail/12345/
在这种情况下,我将使用 do_action 覆盖 404,并包含一个模板,如下所示:
if($detail):
do_action('override404', 'detail');
add_filter('template_include', function () {
return get_template_directory() . '/templates/page/detail-page.php';
});
endif;
add_action(
'override404',
function ($name) {
global $wp_query;
status_header(200);
$wp_query->is_single = true;
$wp_query->is_404 = false;
},
10,
1
);
到目前为止,一切都很好。如您所见,此操作的优先级为 10。
现在,在另一个动作中,我想检查 的值is_single()
,但它始终设置为false
。
像这样的东西:
function enqueue_api_scripts() {
var_dump(is_single());
}
add_action('wp_enqueue_scripts', 'enqueue_api_scripts', 11);
如您所见,此操作的优先级为 11。
我没有看到我在这里做错了什么。我希望能够检查是否is_single()
等于的原因true
是我不想使用全局变量来执行此操作,并且我还想添加一些挂钩来更改标题的值等。任何帮助深表感谢。
解决方案
推荐阅读
- scala - Scala:使用相对路径(不是绝对路径)创建带有文件夹的文件
- cron - 阻止所有人访问网站,但允许服务器 cron
- python - 如何在python中获得组合?
- javascript - PaperJs在同一个项目中添加2个栅格作为2个符号
- java - Guice 创建错误 Magnolia
- java - 按天分组并获取有关 MongoDB 中时区的最近 7 天数据
- corda - Corda:预定活动中的 StateRef 使用情况
- python - Nagios 插件用于读取文本文件中的多个状态。
- python - 为 MySQL 数据库创建 Api 并使用 Python 连接到移动应用程序
- facebook - 请求 Facebook 群组的帖子