For anyone who comes across the need for a post feed or a page feed. I just wrote a small short-code plugin for a client that can make this easy. It’s a feed short-code. Just paste the short-code onto the page you want the feed to appear. You can edit the parameters to get the feed to pull the way you want. Copy the short-code below and paste into your WordPress editor.
This is the shortcode
[post feed]
This is the short-code with ALL the possible parameters. It’s very long. Copy the short-code and then delete the parameters you don’t need. I just put them in there for “copy paste” convenience.
[post_feed display_title ="true" content_or_excerpt ="content" excerpt_word_limit = "36" excerpt_end = "…more" display_featured_image ="false" hyperlink_what = "title" link_featured ="true" post_type = "post" post_id ="" post_name ="" page_id ="" pagename ="" year ="" meta_key ="" meta_value ="" posts_per_page ="" category_id ="" category_slug ="" multiple_category_ids ="" order = "DESC"] // //
This is the function. Place all this code below in your themes “functions.php” file.
function post_feed($atts) { //831AM extract( shortcode_atts( array( 'display_title' => true, 'content_or_excerpt' => 'content', 'excerpt_word_limit' => 36, 'excerpt_end' => '...more', 'display_featured_image' => false, 'hyperlink_what' => 'title', 'link_featured' => true, 'post_type' => 'post', 'post_id' => '', 'post_name' => '', 'page_id' => '', 'pagename' => '', 'year' => '', 'meta_key' => '', 'meta_value' => '', 'posts_per_page' => '-1', 'category_id' => '', 'category_slug' => '', 'multiple_category_ids' => '', 'order' => 'DESC' ), $atts ) ); $new_args = array( 'post_type' => $post_type, 'p' => $post_id, 'page_id' => $page_id, 'pagename' => $pagename, 'name' => $post_name, 'year' => $year, 'meta_key' => $meta_key, 'meta_value' => $meta_value, 'posts_per_page' => $posts_per_page, 'category_name' => $category_slug, 'cat' => $category_id, 'category__and' => $multiple_category_ids, 'order' => $order ); $nest_query = new WP_Query( $new_args ); $output .= '<div id="all_posts_container">'; if ( $nest_query->have_posts() ) : while ( $nest_query->have_posts() ) : $nest_query->the_post(); $this_post_id = get_the_ID(); $this_post_title = get_the_title(); $this_post_excerpt = get_the_excerpt(); $this_post_excerpt = string_limit_words($this_post_excerpt,$excerpt_word_limit); if (!empty($this_post_excerpt)) { $this_post_excerpt .= $excerpt_end; } $this_post_content = get_the_content(); $this_post_link = get_permalink($this_post_id); if ($hyperlink_what == 'all') { $link_all_begining ="<a href=\"$this_post_link\" >"; $link_all_end="</a>"; } if ($link_featured == true) { $link_featured_begining ="<a href=\"$this_post_link\" >"; $link_featured_end="</a>"; } if ($hyperlink_what == 'title') { $link_title_begining ="<a href=\"$this_post_link\" >"; $link_title_end="</a>"; } if ($hyperlink_what == 'excerpt') { $link_excerpt_begining ="<a href=\"$this_post_link\" >"; $link_excerpt_end="</a>"; } if ($hyperlink_what == 'content') { $link_content_begining ="<a href=\"$this_post_link\" >"; $link_content_end="</a>"; } $count++; $output .= "$link_all_begining <div class=\"single_post_container\" >"; $featured_images = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full'); $featured_image = $featured_images[0]; if ($display_featured_image == true && !empty($featured_image)) { // 852AM $output .= "<div class=\"featured_wrapper_$count\">"; $output .= "<img src=\"$featured_image\" class=\"featured_image\" id=\"featured_$count\" />"; $output .= "</div><!-- featured_wrapper -->"; } // 852AM if ($display_title == true) { // 853AM $output .= "$link_title_begining<div class=\"post_title\">"; $output .= $this_post_title; $output .="</div>$link_title_end"; } // 853AM if ($content_or_excerpt == 'content') { // 854AM $output .= "$link_content_begining<div class=\"post_content\">"; $output .= "$this_post_content"; $output .="</div>$link_content_end"; } // 854AM if ($content_or_excerpt == 'excerpt') { // 852AM $output .= "$link_excerpt_begining<div class=\"post_excerpt\">"; $output .= $this_post_excerpt; $output .="</div>$link_excerpt_end"; } // 855AM $output .= "</div>$link_all_end<!-- single_post_container -->"; endwhile; endif; $output .= "<br style=\"clear:both;\" />"; $output .= "</div><!-- all_posts_container -->"; $all_data .="<div class='pagenation_wrap'>"; if (!empty($_GET['offset'])) { $all_data .="<a href='?offset=0' class='pagenation'><< First</a>"; } $call_args['offset'] = $_GET['offset']; $categories = get_term_by('slug',$cat_slug_1,'category'); $number_in_cat = $categories->count; if (!empty($cat_slug_2)) { $categories2 = get_term_by('slug',$cat_slug_2,'category'); $number_in_cat2 = $categories2->count; $number_in_cat = $number_in_cat + $number_in_cat2; } $num_of_pages = ceil($number_in_cat/$posts_per_page); $offset = $_GET['offset']; $current_offset = 0; $display_max_count = $_GET['offset']/$posts_per_page+$posts_per_page; $display_min_count = $_GET['offset']/$posts_per_page-$posts_per_page; $current_count = 0; for($c=1;$c<=$num_of_pages;$c++) { $current_count++; if (empty($current_offset)) { $current="current_pagenation"; }else{ $current=""; } if (!empty($offset)) { if ($current_offset/$offset == 1 ) { $current="current_pagenation"; }else{ $current=""; } } if ($current_count > $display_min_count && $current_count < $display_max_count) { $all_data .="<a href='?offset=$current_offset' class='pagenation $current'>$c</a> | "; } $current_offset = $current_offset + $posts_per_page; $last_offset = $current_offset-$posts_per_page; $max_offset = $current_offset - $posts_per_page; } if ($number_in_cat > $offset && $offset != $max_offset) { $all_data .="<a href='?offset=$last_offset' class='pagenation $current'>Last >></a>"; } $all_data .="$number_in_cat - $posts_per_page</div>"; if ($number_in_cat > $posts_per_page) { $output .= $all_data; } wp_reset_query(); return $output; } //831AM add_shortcode( 'post_feed', 'post_feed' );