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


WordPress MySQL query inside custom widget

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

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

SELECT * FROM wp_posts WHERE post_type = 'facts'

您可以通过在小部件函数中定义global来使用$wpdb,它有一个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 */
    }
}

参考wpdb

使用适当的方法:

$results = get_posts( array(
    'posts_per_page' => -1,
    'post_type' => 'facts',
    'post_status' => 'publish'
    ))
foreach ($results as $row) {
    echo $row->post_title;  
}

请参阅https://codex.wordpress.org/Template_Tags/get_posts