在Wordpress$query中插入/追加SQL语句
我目前被困在Wordpress SQL查询中。 在媒体库中,我想显示上传日期的所有图像,以及图像是否在下一个选定日期 下面是一个工作示例,来自2020年9月上传的图片和10月发布的帖子在Wordpress$query中插入/追加SQL语句,sql,wordpress,Sql,Wordpress,我目前被困在Wordpress SQL查询中。 在媒体库中,我想显示上传日期的所有图像,以及图像是否在下一个选定日期 下面是一个工作示例,来自2020年9月上传的图片和10月发布的帖子 #GET IMAGES UPLOADED IN MONTH SELECT * FROM wp_postmeta AS pm LEFT JOIN wp_posts AS p ON p.ID = pm.post_id WHERE pm.meta_key = 'linked_posts' AND p.post_date
#GET IMAGES UPLOADED IN MONTH
SELECT *
FROM wp_postmeta AS pm
LEFT JOIN wp_posts AS p ON p.ID = pm.post_id
WHERE pm.meta_key = 'linked_posts'
AND p.post_date BETWEEN '20200901' AND '20200931'
AND pm.meta_value IN (
#GET PUBLISHED POSTS FROM MONTH
SELECT ID FROM wp_posts
WHERE post_date BETWEEN '20201001' AND '20201031'
AND post_status = 'publish'
)
我的问题是有可能在Wordpress中得到这个查询吗?
当前正在尝试通过以下方式完成此操作:
add_action( 'pre_get_posts', [ $this, 'filter_released_posts' ] );
有什么建议吗
public function filter_released_posts( $query ) {
global $wpdb;
$wpdb->prepare( "
SELECT *
FROM wp_postmeta AS pm
LEFT JOIN wp_posts AS p ON p.ID = pm.post_id
WHERE pm.meta_key = 'linked_posts'
AND p.post_date BETWEEN '20200901' AND '20200931'
AND pm.meta_value IN (
SELECT ID FROM wp_posts
Where post_date BETWEEN '20201001' AND '20201031'
AND post_status = 'publish'
)"
);
$ids = $wpdb->get_col( $results, 1); 'only get the id
//die(var_dump($ids)) //displays correct data
$query->set( 'post__in', $ids ); //not working..
}