如何不动态显示小部件的实例?

时间:2015-10-30 作者:luciole135

如何根据SQL查询的结果动态更改多实例小部件实例的CSS样式?当查询没有返回任何内容时,我希望不显示小部件的实例。但如果查询返回一个结果,我希望该结果在实例中正常显示。

我苦苦寻找,却徒劳无功。有人有主意吗?

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

对问题的描述非常简单,但显而易见的解决方案是仅在查询不为空时输出小部件数据:

class cond_widget extends WP_Widget {

  public function __construct() {
    // widget actual processes  
    parent::__construct(
        \'test\', // Base ID
        \'test\', // Name
        array( \'description\' => __( \'test\', \'foo\'))
    );
  }

  public function widget( $args, $instance ) {

    $qry = $wpdb->get_var(\'whatever\');
    if (!empty($qry)) {
      echo $args[\'before_widget\'];

      if (!empty($instance[\'title\'])) {
        $title = $instance[\'title\'];
        echo $args[\'before_title\'].$title.$args[\'after_title\'];
      }

      echo \'<ul class="recent_pages">\'; 

      echo \'</ul>\';
      echo $args[\'after_widget\'];
    }
  }

}
add_action( 
  \'widgets_init\', 
  function(){
     register_widget( \'cond_widget\' );
  }
);

相关推荐

Page full of widgets?

有没有可能创建一个只有很多小部件的页面?我看到的大多数WP站点的小部件都在侧边栏中,但我想要一个只有小部件而没有其他内容的页面。我当前使用的主题允许我向页面添加列或表,但我不知道(在任何主题中)是否可以向这些列或表单元格添加小部件?