Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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 MySQL查询_Php_Mysql_Wordpress - Fatal编程技术网

Php 自定义小部件内的WordPress MySQL查询

Php 自定义小部件内的WordPress MySQL查询,php,mysql,wordpress,Php,Mysql,Wordpress,我遵循了WordPress中创建小部件的指导,他们说我已经创建了一个插件小部件,它确实按照预期显示了Hello World 但是现在我想在这个小部件中运行一个mysqli查询。我找不到任何地方提供这方面的信息,因为我知道我要运行的查询是 SELECT*FROM wp\u posts其中post\u type='facts'您可以使用$wpdb通过在小部件函数中定义global,它有一个mysql连接实例 class YourWidget extends WP_Widget { functi

我遵循了WordPress中创建小部件的指导,他们说我已经创建了一个插件小部件,它确实按照预期显示了
Hello World

但是现在我想在这个小部件中运行一个mysqli查询。我找不到任何地方提供这方面的信息,因为我知道我要运行的查询是


SELECT*FROM wp\u posts其中post\u type='facts'
您可以使用
$wpdb
通过在小部件函数中定义global,它有一个mysql连接实例

class YourWidget extends WP_Widget
{
   function widget($args, $instance)
    {
    global   $wpdb;
      $Results = $wpdb->get_results("SELECT * FROM wp_posts
       WHERE post_type = 'facts' AND post_status='publish'");
      var_dump($Results); /* to see what you got from query */
    }

}

使用适当的方法:

$results = get_posts( array(
    'posts_per_page' => -1,
    'post_type' => 'facts',
    'post_status' => 'publish'
    ))

foreach ($results as $row) {
    echo $row->post_title;  
}

请参见

尽管这是一个有效的查询,但最好使用简单的方法。它们将大大减少数据库的负载。见下面的答案