/** * Displays the widget on the front end * * @since 1.0.0 * * @param array $args * @param array $instance */ function widget($atts, $instance) { global $post; if (!empty($post->ID)) { $current_post_id = $post->ID; } else { $current_post_id = 0; } $issuem_settings = get_issuem_settings(); $out = ''; extract($atts); $title = apply_filters('widget_title', empty($instance['title']) ? '' : $instance['title'], $instance, $this->id_base); $args = array('posts_per_page' => empty($instance['posts_per_page']) ? -1 : $instance['posts_per_page'], 'post_type' => 'article', 'orderby' => empty($instance['orderby']) ? 'menu_order' : $instance['orderby'], 'order' => empty($instance['order']) ? 'DESC' : $instance['order']); $issuem_issue = array('taxonomy' => 'issuem_issue', 'field' => 'slug', 'terms' => get_active_issuem_issue()); if (!empty($instance['article_category']) && 'all' != $instance['article_category']) { if (!empty($issuem_settings['use_wp_taxonomies'])) { $cat_type = 'category'; } else { $cat_type = 'issuem_issue_categories'; } $category = array('taxonomy' => $cat_type, 'field' => 'slug', 'terms' => (array) $instance['article_category']); $args['tax_query'] = array('relation' => 'AND', $issuem_issue, $category); } else { $args['tax_query'] = array($issuem_issue); } $articles = new WP_Query($args); if ($articles->have_posts()) { while ($articles->have_posts()) { $articles->the_post(); $out .= '<div class="article_list">'; $out .= "\n\n"; if ($current_post_id == $post->ID) { $out .= '<div id="current_article">'; } $out .= issuem_replacements_args($instance['article_format'], $post); if ($current_post_id == $post->ID) { $out .= '</div>'; } $out .= '</div>'; } } if (!empty($out)) { echo $before_widget; if ($title) { echo $before_title . $title . $after_title; } echo '<div class="issuem_article_list_widget">'; echo $out; echo '</div>'; echo $after_widget; } wp_reset_query(); }
<?php /** * Custom Feed Template for IssueM Issues * * @package IssueM * @since 1.0.2 */ header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' . get_option('blog_charset'), true); $more = 1; $issue = get_query_var('issue'); if (empty($issue)) { $issue = get_active_issuem_issue(); } $args = array('posts_per_page' => -1, 'post_type' => 'article', 'orderby' => 'menu_order', 'order' => 'ASC', 'issuem_issue' => $issue); query_posts($args); echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '"?' . '>'; ?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" <?php do_action('rss2_ns'); ?> >
/** * Outputs Issue Featured Thumbnail Images HTML from shortcode call * * @since 1.0.0 * * @param array $atts Arguments passed through shortcode * @return string HTML output of Issue Featured Rotator Thumbnails */ function do_issuem_featured_thumbs($atts) { global $post; $results = ''; $issuem_settings = get_issuem_settings(); $defaults = array('content_type' => 'teaser', 'posts_per_page' => -1, 'offset' => 0, 'orderby' => 'menu_order', 'order' => 'DESC', 'max_images' => 0, 'issue' => get_active_issuem_issue(), 'article_category' => 'all', 'show_cats' => false); // Merge defaults with passed atts // Extract (make each array element its own PHP var extract(shortcode_atts($defaults, $atts)); $args = array('posts_per_page' => $posts_per_page, 'offset' => $offset, 'post_type' => 'article', 'orderby' => $orderby, 'order' => $order, 'meta_key' => '_featured_thumb', 'issuem_issue' => $issue); if (!empty($issuem_settings['use_wp_taxonomies'])) { $cat_type = 'category'; } else { $cat_type = 'issuem_issue_categories'; } if (!empty($article_category) && 'all' !== $article_category) { $category = array('taxonomy' => $cat_type, 'field' => 'slug', 'terms' => split(',', $article_category)); $args['tax_query'] = array('relation' => 'AND', $issuem_issue, $category); } $featured_articles = get_posts($args); if ($featured_articles) { $results .= '<div id="issuem-featured-article-thumbs-wrap">'; $count = 1; /* start the loop */ foreach ($featured_articles as $article) { if (has_post_thumbnail($article->ID)) { $image = wp_get_attachment_image_src(get_post_thumbnail_id($article->ID), 'issuem-featured-thumb-image'); $image = apply_filters('issuem_featured_thumbs_article_image', $image, $article); $results .= apply_filters('issuem_featured_thumbs_before_thumbnail_div', '', $article); $results .= '<div class="issuem-featured-article-thumb">'; $results .= apply_filters('issuem_featured_thumbs_start_thumbnail_div', '', $article); $results .= apply_filters('issuem_featured_thumbs_before_thumbnail_image', '', $article); $results .= apply_filters('issuem_featured_thumbs_thumbnail_image', '<a class="issuem-featured-thumbs-img" href="' . get_permalink($article->ID) . '"><img src="' . $image[0] . '" width="' . $image[1] . '" height="' . $image[2] . '" alt="' . get_post_meta($article->ID, '_teaser_text', true) . '" /></a>', $article); $results .= apply_filters('issuem_featured_thumbs_after_thumbnail_image', '', $article); if ('true' === $show_cats) { $results .= apply_filters('issuem_featured_thumbs_before_thumbnail_category', '', $article); $results .= apply_filters('issuem_featured_thumbs_thumbnail_category', '<p class="issuem-article-category">' . get_the_term_list($article->ID, $cat_type) . '</p>', $article); $results .= apply_filters('issuem_featured_thumbs_after_thumbnail_category', '', $article); } $results .= apply_filters('issuem_featured_thumbs_before_thumbnail_title', '', $article); $results .= apply_filters('issuem_featured_thumbs_after_thumbnail_title', '<h3 class="issuem-featured-thumb-title"><a href="' . get_permalink($article->ID) . '">' . get_the_title($article->ID) . '</a></h3>', $article); $results .= apply_filters('issuem_featured_thumbs_after_thumbnail_title', '', $article); $results .= apply_filters('issuem_featured_thumbs_before_thumbnail_content', '', $article); switch ($content_type) { case 'excerpt': $results .= apply_filters('issuem_featured_thumbs_thumbnail_content', '<p class="issuem-featured-thumb-content">' . get_issuem_article_excerpt($article->ID) . '</p>', $article); break; case 'teaser': default: $results .= apply_filters('issuem_featured_thumbs_thumbnail_content', '<p class="featured-thumb-content">' . get_post_meta($article->ID, '_teaser_text', true) . '</p>', $article); break; } $results .= apply_filters('issuem_featured_thumbs_after_thumbnail_content', '', $article); $results .= apply_filters('issuem_featured_thumbs_before_thumbnail_byline', '', $article); if ($issuem_settings['show_thumbnail_byline']) { $author_name = get_issuem_author_name($article); $results .= apply_filters('issuem_featured_thumbs_thumbnail_byline', '<p class="featured-thumb-byline">' . sprintf(__('By %s', 'issuem'), apply_filters('issuem_author_name', $author_name, $article->ID)) . '</p>', $article); } $results .= apply_filters('issuem_featured_thumbs_before_thumbnail_byline', '', $article); $results .= apply_filters('issuem_featured_thumbs_end_thumbnail_div', '', $article); $results .= '</div>'; $results .= apply_filters('issuem_featured_article_after_thumbnail_div', '', $article); if (0 != $max_images && $max_images <= $count) { break; } $count++; } } $results .= '</div>'; } return $results; }