Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.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
Php 从wordpress sql中进行多选择_Php_Mysql_Sql_Wordpress - Fatal编程技术网

Php 从wordpress sql中进行多选择

Php 从wordpress sql中进行多选择,php,mysql,sql,wordpress,Php,Mysql,Sql,Wordpress,我试图从WordPressSQL获取帖子,我想获取帖子,其中post\u type='post'和post\u type='page' 我的代码: $wpdb->get_row( " SELECT * FROM $wpdb->posts WHERE post_type = 'post' and post_type = 'page' AND post_status = 'publish' ORDER BY RAND() " ); 这个代码是正确的 $wpdb->get_r

我试图从WordPressSQL获取帖子,我想获取帖子,其中post\u type='post'和post\u type='page'

我的代码:

   $wpdb->get_row( " SELECT * FROM $wpdb->posts WHERE post_type = 'post' and post_type = 'page' AND post_status = 'publish' ORDER BY RAND() " );
这个代码是正确的

$wpdb->get_row( " SELECT * FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' ORDER BY RAND() " );
但是只有post_type='posts'我想要两者!文章和页面


谢谢。

您可以使用

$wpdb->get_row( " SELECT * FROM $wpdb->posts WHERE (post_type = 'post' OR post_type = 'page') AND post_status = 'publish' ORDER BY RAND() " );
…但我还是不明白你为什么不制定标准


您不执行标准的
WP_Query()
有什么原因吗?代码是正确的,但我从post_type='post'得到了post'我想要从两者得到。您对WP_Query的意思是什么?是的,因为我制作了一个简单的小部件。@Sultan这不是不使用WP_Query的原因-WPDB应该只用于查询自定义表。对于查询post,已经有内置函数可以很好地完成这项工作,并返回post对象。
$args = array(
    'post_type' => array('post', 'page'),
    'orderby' => 'rand',
    'posts_per_page' => -1
);
$query = new WP_Query( $args );