/** * 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(); }
protected function onShortcode($content, $code, \Drone\HTML &$html) { $media = array_keys(array_filter($this->so_('media')->toArray(), function ($m) { return $m; })); if ($this->so('size') == 'big') { // Big $html = HTML::div()->class('social-buttons'); $ul = $html->addNew('ul'); foreach ($media as $media) { switch ($media) { case 'facebook': $ul->addNew('li')->add(\Everything::getPostMetaFormat('<div class="fb-like" data-href="%link%" data-send="false" data-layout="box_count" data-show-faces="false"></div>')); break; case 'twitter': $ul->addNew('li')->add(\Everything::getPostMetaFormat('<a class="twitter-share-button" href="https://twitter.com/share" data-url="%link%" data-text="%title_esc%" data-count="vertical">Tweet</a>')); break; case 'googleplus': $ul->addNew('li')->add(\Everything::getPostMetaFormat('<div class="g-plusone" data-href="%link%" data-size="tall" data-annotation="bubble"></div>')); break; case 'linkedin': $ul->addNew('li')->add(\Everything::getPostMetaFormat('<script class="inshare" type="IN/Share" data-url="%link%" data-counter="top" data-showzero="true"></script>')); break; case 'pinterest': if (has_post_thumbnail()) { list($thumbnail_src) = wp_get_attachment_image_src(get_post_thumbnail_id()); } else { $thumbnail_src = ''; } $ul->addNew('li')->add(sprintf('<a data-pin-config="above" href="//pinterest.com/pin/create/button/?url=%s&media=%s&description=%s" data-pin-do="buttonPin"><img src="//assets.pinterest.com/images/pidgets/pin_it_button.png" /></a>', urlencode(get_permalink()), urlencode($thumbnail_src), urlencode(get_the_title()))); break; } } } else { // Small $html = HTML::ul()->class('meta social'); foreach ($media as $media) { switch ($media) { case 'facebook': $html->addNew('li')->add(\Everything::getPostMetaFormat('<div class="fb-like" data-href="%link%" data-send="false" data-layout="button_count" data-show-faces="false"></div>')); break; case 'twitter': $html->addNew('li')->add(\Everything::getPostMetaFormat('<a class="twitter-share-button" href="https://twitter.com/share" data-url="%link%" data-text="%title_esc%" data-count="horizontal">Tweet</a>')); break; case 'googleplus': $html->addNew('li')->add(\Everything::getPostMetaFormat('<div class="g-plusone" data-href="%link%" data-size="medium" data-annotation="bubble"></div>')); break; case 'linkedin': $html->addNew('li')->add(\Everything::getPostMetaFormat('<script class="inshare" type="IN/Share" data-url="%link%" data-counter="right" data-showzero="true"></script>')); break; case 'pinterest': if (has_post_thumbnail()) { list($thumbnail_src) = wp_get_attachment_image_src(get_post_thumbnail_id()); } else { $thumbnail_src = ''; } $html->addNew('li')->add(sprintf('<a data-pin-config="beside" href="//pinterest.com/pin/create/button/?url=%s&media=%s&description=%s" data-pin-do="buttonPin"><img src="//assets.pinterest.com/images/pidgets/pin_it_button.png" /></a>', urlencode(get_permalink()), urlencode($thumbnail_src), urlencode(get_the_title()))); break; } } } }