Beispiel #1
0
<?php

/**
 * Sidebar Article Template
 * -----------------------------------------------------------------------------
 * @category   PHP Script
 * @package    Kaitain
 * @author     Mark Grealish <*****@*****.**>
 * @copyright  Copyright (c) 2014-2015, Tuairisc Bheo Teo
 * @license    https://www.gnu.org/copyleft/gpl.html The GNU GPL v3.0
 * @version    2.0
 * @link       https://github.com/bhalash/kaitain-theme
 * @link       http://www.tuairisc.ie
 */
$trim = kaitain_section_css(get_the_category()[0]);
$post_classes = array('article--sidebar', 'vspace--full');
?>

<article <?php 
post_class($post_classes);
?>
 id="article--sidebar--<?php 
the_id();
?>
">
    <a class="flex--asym-quarter-auto <?php 
printf($trim['texthover']);
?>
" rel="bookmark" href="<?php 
the_permalink();
?>
 /**
  * Widget Public Display
  * -------------------------------------------------------------------------
  * @param   array     $defaults         Widget default values. 
  * @param   array     $instance         Widget instance arguments.
  */
 public function widget($defaults, $instance)
 {
     global $sections, $post;
     if (!($category = get_category($instance['category']))) {
         return;
     }
     // Widget title.
     $title = apply_filters('widget_title', $category->cat_name);
     // Transient API name.
     $trans = 'sidebar_category_posts_' . $category->slug;
     // Site section information.
     $section = kaitain_current_section_category();
     $trim = kaitain_section_css(get_the_category()[0]);
     $section_slug = $sections->get_category_section_slug(get_the_category()[0]);
     $classes = array('widget' => 'widget--sidebarcat vspace--full', 'trim_bg' => 'widget--sidebarcat__bg', 'trim_text' => $trim['texthover']);
     if ($instance['use_section_trim']) {
         // Override grey background with appropriate section trim.
         $classes['trim_bg'] = $trim['bg'];
     }
     if (!($category_posts = get_transient($trans))) {
         // Transient: fetch posts.
         $category_posts = get_posts(array('post_type' => 'post', 'post_status' => 'publish', 'numberposts' => $instance['max_posts'], 'category' => $instance['category'], 'order' => 'DESC'));
         set_transient($trans, $category_posts, get_option('kaitain_transient_timeout'));
     }
     if (!empty($defaults['before_widget'])) {
         printf($defaults['before_widget']);
     }
     // Widget interior.
     printf('<div class="%s %s">', $classes['widget'], $classes['trim_bg']);
     printf('%s<a class="%s" href="%s">%s</a>%s', $defaults['before_title'], $classes['trim_text'], get_category_link($category), $title, $defaults['after_title']);
     foreach ($category_posts as $index => $post) {
         setup_postdata($post);
         if ($instance['show_image'] && $index === 0) {
             kaitain_partial('article', 'sidebarcatlead');
         } else {
             kaitain_partial('article', 'sidebarcat');
         }
     }
     printf('</div>');
     if (!empty($defaults['after_widget'])) {
         printf($defaults['after_widget']);
     }
     wp_reset_postdata();
 }
Beispiel #3
0
/**
 * Current Section Classes
 * -----------------------------------------------------------------------------
 * @return  array           $classes        Section classes.
 */
function kaitain_current_section_css()
{
    global $sections;
    return kaitain_section_css($sections::$current_section);
}