Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Wordpress$query中插入/追加SQL语句_Sql_Wordpress - Fatal编程技术网

在Wordpress$query中插入/追加SQL语句

在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

我目前被困在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 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..

}