WordPress有一个保留字列表,我可以覆盖它们,以便在查询字符串中使用一个吗?

时间:2020-10-27 作者:Doug Cassidy

我想用废话。com/myscript/?年份=2020,但这会导致404(页面仍会加载)。然而,由于年份参数的原因,似乎尝试提供下载服务是失败的。有没有办法禁用wp对这个简单单词的控制?

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

No.

您可以尝试删除year 从查询变量的白名单中删除,但这将破坏日期存档,破坏WP Admin中所有基于日期的过滤,以及破坏依赖此功能的任何插件或主题。这不仅会影响用户界面,还会在内部影响任何基于日期的查询

E、 g.core中的站点地图会中断基于年份的RSS和REST API请求,以及所有管理下拉过滤器、日历小部件和最近帖子查询中基于时间的逻辑等。

只需说损失可能很严重

这些不仅仅是URL变量,查询变量运行得更深,并且是中参数的键WP_Query, 因此得名。它们是使重写规则起作用的关键组件。当您访问时example.com/2019 它被映射到index.php?year=2019 成为WP_Query( [ \'year\' => 2019, ... ] ), 就WordPress而言,/2019 /index.php?year=2019/?year=2019 都完全一样

至于删除该查询变量,可能需要fork WordPress来完成。在这种情况下,节省5分钟可能需要5年以上的努力,这不是一种有利可图的交易。

您是否考虑过改名变量?可能archive_datefilter_date?

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post