コード例 #1
0
 function widget($args, $instance)
 {
     extract($args);
     // build the check array
     $defaults = array('title' => '', 'content' => '', 'sub' => 'none');
     foreach ($defaults as $key => $value) {
         if (isset($instance[$key])) {
             $defaults[$key] = $instance[$key];
         }
     }
     extract($defaults);
     $show = false;
     switch ($sub) {
         case 'none':
             if (!is_user_logged_in() || !current_user_is_member()) {
                 $show = true;
             }
             break;
         default:
             if (current_user_on_subscription($sub)) {
                 $show = true;
             }
             break;
     }
     if ($show) {
         echo $before_widget;
         $title = apply_filters('widget_title', $title);
         if (!empty($title)) {
             echo $before_title . $title . $after_title;
         }
         echo do_shortcode($content);
         echo $after_widget;
     }
 }
 /**
  * Tests if the current user has a specific membership subscription.
  *
  * @since  1.0.0
  * @param  array $data Contains the element ['membership_sub']
  * @return boolean
  */
 protected function user_has_subscription($data)
 {
     $result = false;
     if ($this->is_active) {
         $data = lib2()->array->get($data);
         lib2()->array->equip($data, 'membership_sub');
         $data['membership_sub'] = lib2()->array->get($data['membership_sub']);
         foreach ($data['membership_sub'] as $subscription) {
             if (current_user_on_subscription($subscription)) {
                 $result = true;
                 break;
             }
         }
     }
     return $result;
 }