Revision: 45977
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at May 11, 2011 22:43 by bigevilbrain
Initial Code
/**
* CPT (Custom Post Type) Feed Shortcode
* http://codex.wordpress.org/Shortcode_API
*/
function fn_cpt( $atts = array(), $content = NULL ) {
global $post, $wp_query;
$cpt = 'project'; // Custom Post Type slug
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
// Save and overwrite wp_query so the navigation will work
$saved_query = $wp_query; $wp_query = null;
$saved_post = $post; $post = null;
// http://codex.wordpress.org/Function_Reference/WP_Query
// http://codex.wordpress.org/Template_Tags/get_posts
$wp_query = new WP_Query();
$defaults = array(
'orderby' => 'menu_order', // or 'date'
'order' => 'ASC', // or 'DSC'
'post_type' => $cpt,
// $term->taxonomy => $term->slug,
'post_status' => 'publish',
// 'posts_per_page' => get_option('posts_per_page', 10),
// 'paged' => $paged,
'posts_per_page' => -1
);
$wp_query->query($defaults); // posts_per_page
$output = '';
ob_start();
if (have_posts()) {
$count = 0;
while (have_posts()) {
the_post();
get_template_part('templates/'.$cpt, 'excerpt'); // templates/project-excerpt.php
if ($count % 4 == 3) {
echo('<div class="end"></div>');
}
$count++;
}
}
// Pagination
get_template_part('templates/nav', 'page'); // templates/nav-page.php
$output = ob_get_clean();
// Restore previous wp_query
$wp_query = null; $wp_query = $saved_query;
$post = null; $post = $saved_post;
return $output;
}
add_shortcode('cptfeed', 'fn_cpt');
Initial URL
Initial Description
Initial Title
CPT (Custom Post Type) Feed Shortcode
Initial Tags
wordpress
Initial Language
PHP