function create_testimonials() {
$labels = array(
'name' => '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 );
?>
global $gm_testimonials_meta_boxes;
$gm_testimonials_meta_boxes = array();
$gm_testimonials_meta_boxes[] = array(
'id' => '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' );
/* shortcodes */
function gm_testimonials_shortcode( $atts ) {
// set default values if no attributes passed
extract( shortcode_atts( array(
'orderby' => '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 .= "
";
$content .= "
".get_the_excerpt()."
";
$content .= "
";
endwhile;
$content .= "
";
break;
case "list":
$content .= "
";
while( $testimonials_loop->have_posts() ) : $testimonials_loop->the_post();
$content .= "";
$content .= "".get_the_title()." ";
$content .= " ";
endwhile;
$content .= " ";
break;
}
}
$wp_query = null;
$wp_query = $original_query;
wp_reset_postdata();
return $content;
}
add_shortcode( 'gm_testimonials', 'gm_testimonials_shortcode' );
Bolt POS – A Cloud-Based POS Cash Register
Toggle navigation
Menu
Compare Bolt POS To The Competition