示例#1
0
 public function widget($args, $instance)
 {
     $this->_options = $this->getOptions($instance);
     $html = HTML::make();
     $this->onWidget((array) $args, $html);
     if (!$html->tag && $html->count() == 0) {
         return;
     }
     $html = \Drone\apply_filters('widget_' . str_replace('-', '_', $this->_id) . '_widget', $html, $this, $args);
     if (isset(self::$_on_html[$this->_id]) && is_callable(self::$_on_html[$this->_id])) {
         _deprecated_function(__METHOD__ . '::$_on_html', '5.0', 'drone_widget_' . str_replace('-', '_', $this->_id) . '_widget filter');
         call_user_func_array(self::$_on_html[$this->_id], array($this, &$html));
     }
     $output = HTML::make()->add($args['before_widget']);
     if ($title = $this->wo('title')) {
         $output->add($args['before_title'], \apply_filters('widget_title', $title, $instance, $this->id_base), $args['after_title']);
     }
     $output->add($html, $args['after_widget']);
     $output = \Drone\apply_filters('widget_' . str_replace('-', '_', $this->_id) . '_output', $output, $this, $args);
     if (isset(self::$_on_output_html[$this->_id]) && is_callable(self::$_on_output_html[$this->_id])) {
         _deprecated_function(__METHOD__ . '::$_on_html', '5.0', 'drone_widget_' . str_replace('-', '_', $this->_id) . '_output filter');
         call_user_func_array(self::$_on_output_html[$this->_id], array($this, &$output));
     }
     echo $output->html();
 }
示例#2
0
 /**
  * Meta
  *
  * @since 1.6
  *
  * @param string $position
  */
 public static function meta($position = 'after')
 {
     if (is_search()) {
         return;
     }
     if ($position == 'before' && (is_single() || get_post_type() != 'post')) {
         return;
     }
     if ($position == 'before') {
         $items = Everything::to_('post/meta/before/items');
     } else {
         $items = Everything::to_(array(sprintf('%s/meta/%s/items', get_post_type(), is_singular() ? 'single' : 'list'), sprintf('%s/meta/items', get_post_type()), 'page/meta/items'));
     }
     if (!$items->value || !apply_filters('everything_meta_display', (bool) Everything::po('layout/page/meta/meta', '__hidden', $items->isVisible()), $position)) {
         return;
     }
     $html = is_singular() ? \Drone\HTML::section()->class('section') : \Drone\HTML::make();
     $ul = $html->addNew('ul')->class('meta alt');
     foreach ((array) $items->value as $item) {
         switch ($item) {
             case 'date_time':
                 $ul->add(Everything::getPostMetaFormat('<li><a href="%date_month_link%" title="%s"><i class="icon-clock"></i>%s</a></li>', sprintf(__('View all posts from %s', 'everything'), get_the_date('F')), sprintf(__('%1$s at %2$s', 'everything'), Everything::getPostMeta('date'), Everything::getPostMeta('everything'))));
                 break;
             case 'date':
                 $ul->add(Everything::getPostMetaFormat('<li><a href="%date_month_link%" title="%s"><i class="icon-clock"></i>%date%</a></li>', sprintf(__('View all posts from %s', 'everything'), get_the_date('F'))));
                 break;
             case 'mod_date':
                 $ul->add(Everything::getPostMetaFormat('<li><a href="%link%" title="%title_esc%"><i class="icon-clock"></i>%date_modified%</a></li>'));
                 break;
             case 'time_diff':
                 $ul->add(Everything::getPostMetaFormat('<li><a href="%link%" title="%title_esc%"><i class="icon-clock"></i>%time_diff%</a></li>'));
                 break;
             case 'comments':
                 if (Everything::isPluginActive('disqus')) {
                     $ul->add(Everything::getPostMetaFormat('<li><i class="icon-comment"></i><a href="%comments_link%">%comments_number%</a></li>'));
                 } else {
                     $ul->add(Everything::getPostMetaFormat('<li><a href="%comments_link%" title="%comments_number_esc%"><i class="icon-comment"></i>%comments_number%</a></li>'));
                 }
                 break;
             case 'author':
                 $ul->add(Everything::getPostMetaFormat('<li><a href="%author_link%" title="%author_name_esc%"><i class="icon-user"></i>%author_name%</a></li>'));
                 break;
             case 'categories':
                 if (get_post_type() == 'portfolio') {
                     $ul->add(get_the_term_list(get_the_ID(), 'portfolio-category', '<li><i class="icon-list"></i>', ', ', '</li>'));
                 } else {
                     $ul->add(Everything::getPostMetaFormat('[%category_list%]<li><i class="icon-list"></i>%category_list%</li>[/%category_list%]'));
                 }
                 break;
             case 'tags':
                 if (get_post_type() == 'portfolio') {
                     $ul->add(get_the_term_list(get_the_ID(), 'portfolio-tag', '<li><i class="icon-tag"></i>', ', ', '</li>'));
                 } else {
                     $ul->add(Everything::getPostMetaFormat('[%tags_list%]<li><i class="icon-tag"></i>%tags_list%</li>[/%tags_list%]'));
                 }
                 break;
             case 'permalink':
                 $ul->add(Everything::getPostMetaFormat('<li><a href="%link%" title="%title_esc%"><i class="icon-link"></i>%s</a></li>', __('Permalink', 'everything')));
                 break;
         }
     }
     echo $html->html();
 }
示例#3
0
 protected function getBricks($query)
 {
     // HTML
     $html = HTML::div()->class('bricks')->data('bricks-columns', $this->so('columns'))->data('bricks-filter', Func::boolToString($this->so('filter')));
     while (have_posts()) {
         the_post();
         $GLOBALS['more'] = 0;
         $brick = $html->addNew('div')->add(\Drone\Func::functionGetOutputBuffer('get_template_part', 'parts/post'));
         if ($this->so('filter')) {
             $terms = \Drone\Func::wpPostTermsList(get_the_ID(), $this->so('filter'));
             if (is_category() && ($term_id = array_search(single_cat_title('', false), $terms)) !== false) {
                 unset($terms[$term_id]);
             }
             $brick->data('bricks-terms', json_encode(array_values($terms)));
         }
     }
     wp_reset_query();
     // Paginate links
     if ($this->so('pagination') && ($pagination = \Everything::getPaginateLinks('blog', $query))) {
         $html = HTML::make()->add($html, $pagination);
     }
     return $html;
 }
示例#4
0
 protected function _html()
 {
     $input = HTML::makeInput('number', $this->input_name, $this->value)->addClass($this->getCSSClass(__CLASS__), 'code')->title($this->default ? __('Default', $this->domain) . ': ' . $this->default . $this->unit : null);
     if (!$this->float) {
         $input->step = $this->step;
         if (is_numeric($this->min)) {
             $input->min = $this->min;
         }
         if (is_numeric($this->max)) {
             $input->max = $this->max;
         }
         if (is_numeric($this->min) && is_numeric($this->max)) {
             $input->maxlength = max(strlen($this->min), strlen($this->max));
         }
     }
     if ($this->unit) {
         $input = HTML::make()->add($input, ' ', HTML::span()->add($this->unit));
     }
     return $input;
 }
示例#5
0
 public function shortcode($atts, $content = null, $code = '')
 {
     $atts = $atts ? (array) $atts : array();
     $this->options = $this->getOptions($atts);
     self::$call_stack[] = $this->tag;
     $html = HTML::make();
     $this->onShortcode($content, $code, $html);
     $html = \Drone\apply_filters('shortcode_' . $this->tag . '_shortcode', $html, $this, $atts, $content, $code);
     array_pop(self::$call_stack);
     return $html->html();
 }