'Testimonials', 'singular_name' => 'Testimonials', 'menu_name' => 'Testimonials', 'parent_item_colon' => 'Parent Testimonial:', 'all_items' => 'All Testimonials', 'view_item' => 'View Testimonial', 'add_new_item' => 'Add New Testimonial', 'add_new' => 'New Testimonial', 'edit_item' => 'Edit Testimonial', 'update_item' => 'Update Testimonial', 'search_items' => 'Search Testimonials', 'not_found' => 'No Testimonials found', 'not_found_in_trash' => 'No Testimonials found in Trash', ); $args = array( 'label' => 'Testimonials', 'description' => 'Testimonials post type', 'labels' => $labels, 'supports' => array( 'title', 'excerpt', 'thumbnail', 'revisions', 'page-attributes', 'editor'), 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'show_in_admin_bar' => true, 'menu_position' => 5, 'can_export' => true, 'has_archive' => false, 'exclude_from_search' => false, 'capability_type' => 'page', 'menu_icon' => plugins_url( 'gm_icon_bw.png', __FILE__ ), ); register_post_type( 'testimonials', $args ); } // Hook into the 'init' action add_action( 'init', 'create_testimonials', 0 ); ?> 'testimonials_extra', 'title' => 'Profile Info', 'pages' => array( 'testimonials' ), 'context' => 'normal', 'priority' => 'high', 'fields' => array( array( 'name' => 'Location', 'id' => "gm_testimonials_location", 'desc' => 'Example: San Diego, CA', 'type' => 'text', 'std' => '', ), array( 'name' => 'Date', 'id' => "gm_testimonials_date", 'type' => 'date', // jQuery date picker options. See here http://jqueryui.com/demos/datepicker 'js_options' => array( 'appendText' => '(yyyy-mm-dd)', 'dateFormat' => 'yy-mm-dd', 'changeMonth' => true, 'changeYear' => true, 'showButtonPanel' => true, ), ), ), 'validation' => array( 'rules' => array( "gm_testimonials_location" => array( 'required' => true, ), "post_title" => array( 'required' => true, ), ), 'messages' => array( "gm_testimonials_location" => array( 'required' => 'Location is required', ), ) ) ); function gm_testimonials_register_meta_boxes() { if ( !class_exists( 'RW_Meta_Box' ) ) return; global $gm_testimonials_meta_boxes; foreach ( $gm_testimonials_meta_boxes as $meta_box ) { new RW_Meta_Box( $meta_box ); } } add_action( 'admin_init', 'gm_testimonials_register_meta_boxes' ); 'date', // by post date 'order' => 'DESC', // newest first by default 'meta_key' => '', // meta_key 'display' => 'content', ), $atts ) ); $db_args = array( 'post_type' => 'testimonials', 'order' => $order, 'orderby' => $orderby, 'meta_key' => $meta_key, ); $date_format = "M d, Y"; $testimonials_loop = new WP_Query( $db_args ); if($testimonials_loop->have_posts()) { switch($display) { case "content": $content .= "
"; while( $testimonials_loop->have_posts() ) : $testimonials_loop->the_post(); $formatted_date = date($date_format, strtotime($raw_date)); $content_filtered = get_the_content(); $content_filtered = apply_filters('the_content', $content_filtered); $content_filtered = str_replace(']]>', ']]>', $content_filtered); $content .= "
"; $content .= "
$content_filtered
"; $content .= "
".rwmb_meta( 'gm_testimonials_location' )."
"; //$content .= "
".$formatted_date."
"; $content .= "
".get_the_title().""; $content .= "
"; endwhile; $content .= "
"; break; case "excerpt": $content .= "
"; while( $testimonials_loop->have_posts() ) : $testimonials_loop->the_post(); $formatted_date = date($date_format, strtotime($raw_date)); $content .= "
"; $content .= "
".get_the_title()."
"; $content .= "
".get_the_excerpt()."
"; $content .= "
"; endwhile; $content .= "
"; break; case "list": $content .= ""; break; } } $wp_query = null; $wp_query = $original_query; wp_reset_postdata(); return $content; } add_shortcode( 'gm_testimonials', 'gm_testimonials_shortcode' );