Php 重写Wordpress核心函数\u wp\u mysql\u week()
我想重写位于Php 重写Wordpress核心函数\u wp\u mysql\u week(),php,mysql,wordpress,function,overriding,Php,Mysql,Wordpress,Function,Overriding,我想重写位于wp includes/functions.php中的\u wp\u mysql\u week()wordpress函数,因为实际的\u wp\u mysql\u week()不符合ISO 8601,并要求模式1使用week()mysql函数,而不是模式3 我想在theme functions.php中放置一个过滤器或其他东西,但找不到如何放置 Thx对于WP 4.1中设置此函数的任何帮助,如果您在选项表中指定“星期一”为一周的第一天,您将获得ISO8601:1988周数(MySQL
wp includes/functions.php
中的\u wp\u mysql\u week()
wordpress函数,因为实际的\u wp\u mysql\u week()
不符合ISO 8601,并要求模式1使用week()
mysql函数,而不是模式3
我想在theme functions.php中放置一个过滤器或其他东西,但找不到如何放置
Thx对于WP 4.1中设置此函数的任何帮助,如果您在选项表中指定“星期一”为一周的第一天,您将获得ISO8601:1988周数(MySQL模式1)。否则,您将获得模式0 您还可以在构造查询之后但在将其传递给MySQL之前使用过滤器进行干预。在过滤器中,您可以随意更改查询的文本
WEEK( something, 0 )
到
以了解您的ISO 8601:1988行为。这解释了查询过滤
请注意,_wp_mysql_week函数使用空格生成输出,我在这里显示了磅符号
WEEK(#something,#1#)
如果一周从星期日或星期一以外的某一天开始,则生成的查询代码如下所示:
WEEK(#DATE_SUB(#something,#INTERVAL#3#DAY#),#0#)
因此,您可能可以在过滤器中使用正则表达式来搜索
WEEK( .+? 0 )
然后将数字改为1。但是正则表达式当然有危险
您还可以请求在_wp_mysql_week的输出中专门添加一个新的过滤器,以便允许用户代码控制它。WordPress团队通常会接受这样的请求
WEEK( .+? 0 )