wordpress - WordPress:pre_get_posts 动作结合 date_query 和 meta_query
问题描述
在我的 WordPress 项目中,我遇到了一些问题。
我有很多类别。这些类别有一个子类别名称新产品。
目前,我已经习惯在新产品页面pre_get_posts
中获取帖子列表。如果有> 2018/1/15的帖子将进入类别页面。post_date
我想在产品中添加一个自定义复选框,如果选中时< 2018/1/15keep_product
,它将将产品保留在新产品页面中。post_date
所以我认为条件应该是post_date > 2018/1/15** OR **keep_product = 1
我尝试创建一个查询,但似乎WP_Query
只对and应用AND条件。date_query
meta_query
function pre_get_posts_function($q){
//Code in here
$query->set('date_query', array(
array(
'after' => '2018/1/15'
);
));
$query->set('meta_query', array(
array(
'key' => 'keep_product',
'value' => '1'
)
));
}
我也尝试创建一个posts_where
动作,但它忽略了类别条件。选中keep_after_60_days
复选框的产品将显示在新产品页面中。
function pre_get_posts_function($q){
//Code in here
$query->set('date_query', array(
array(
'after' => '2018/1/15'
);
));
add_filter( 'posts_where', 'postmeta_new_releases',10,1);
}
function postmeta_new_releases( $where = '' ) {
global $wpdb;
$where .= " OR ($wpdb->postmeta.meta_key = 'keep_product' AND $wpdb->postmeta.meta_value = 1)";
return $where;
}
任何人都可以帮助我。几天后我会生气。
谢谢!!
解决方案
推荐阅读
- swift - 更改 WKInterfaceLabel 文本
- java - 如何仅使用 KeyListener 旋转一次摆动的矩形,而无需再次旋转
- android - 远程 logcat - Android Studio
- c++ - Windows Subsystem for Linux (WSL) 下的间歇性随机“找不到文件”错误
- mysql - MySQL 全文不准确
- context-free-grammar - 看了两个问题,不知道怎么回答
- python - 基于Cox比例风险模型的失效时间预测
- php - 通过比较不同表中的其他两个字段将不同的字段插入表中
- tensorflow - conv2d 不起作用
- java - 有人可以帮助我通过方法组织这个,因为我不明白如何: