我试图在管理编辑区域中按星期几(1=周一,2=周二等)过滤帖子的显示。自定义字段“some date”是一个时间戳。下面的代码并不是实现这一点的正确方法,但说明了我正在努力实现的目标。
// Filter on day of week
add_filter( \'parse_query\', array( &$this, \'dayFilter\' ), 10);
// Filter the query on the day of the week held by custom timestamp field \'some-date\'
public function dayFilter( $query )
{
// Essential code below
$qv = &$query->query_vars;
$qv[\'meta_query\'] = [];
// Filter on the day of week
if ( !empty( $_GET[\'filter_day_of_Week\'] ) )
{
$day = intval( $_GET[\'filter_day_of_Week\'], 10 );
$qv[\'meta_query\'][] = array(
\'key\' => \'WEEKDAY(FROM_UNIXTIME(wpcf-some-date))\',
\'value\' => $day,
\'compare\' => \'IS\'
);
$sort_key = \'wpcf-some-date\';
}
}
不是在这里,而是我需要去的地方WEEKDAY(FROM_UNIXTIME(wpcf-some-date))
进入请求SQL。我考虑过在posts_request
过滤器挂钩,但如果有人有更好的建议,我将不胜感激。