[WordPress] コード WordPress コア関数 _wp_mysql_week() をオーバーライドします。

スポンサーリンク

Question

実際の

_wp_mysql_week()

はない ISO 8601 に準拠モード 1

WEEK()

3 モードではなく MYSQL 関数を求めて以来

wp-includes/functions.php

である

_wp_mysql_week()

ワードプレスの関数をオーバーライドしたいと思います

テーマの functions.php にフィルターまたは何かを置くしたいと思いますが、見つけることができなかった方法

任意の助けを 『 thx

答え

この関数が不正だ WP 4.1 では、オプションの表では、週の最初の曜日として「月曜日」を指定する場合の方法、ISO8601:1988 の週番号 (MySQL モード 1) を取得します。それ以外の場合モード 0 を取得します

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function _week

クエリの構築後フィルターがそれの前にも対処できますの MySQL に引き渡されました。フィルター内を変更するクエリのテキストでいじくりすることができます

WEEK( something, 0 )

WEEK( something, 1 )

あなた ISO 8601 動作を取得します。これは、クエリのフィルター処理について説明します。 http://codex.wordpress.org/Plugin_API/Filter_Reference/posts_clauses

_Wp_mysql_week 関数が役立ってどこここでシャープ記号を示しているスペースでその出力を生成することをお知らせします

WEEK(#something,#1#)

あなたの 1 週間は日曜日か月曜日以外にもいくつかの日に開始、生成されたクエリ コードのようになります:

WEEK(#DATE_SUB(#something,#INTERVAL#3#DAY#),#0#)

おそらく検索するフィルターに正規表現を使用するので、

WEEK( .+? 0 )

の数字 1 を変更します。しかしもちろんれて危険

新しいフィルターがそれを制御するユーザー コードを許可するために具体的には _wp_mysql_week の出力に追加することを要求することも可能性があります。 https://core.trac.wordpress.org/ワードプレスのチームは一般的にこのような要求を受け入れるです。

http://stackoverflow.com/questions/27723914/override-code-wordpress-core-function-wp-mysql-week

スポンサーリンク

Leave a Reply