From: Anthony Talarico Date: Thu, 10 May 2018 12:47:36 +0000 (-0400) Subject: fixing the rooms and blog post types X-Git-Tag: v1.0.0^2~46 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=ce1eaf22580b0209ef65db6ea64d389c6f26f1a9;p=WP-Themes%2Flaurium.git fixing the rooms and blog post types --- diff --git a/functions.php b/functions.php index 8258465..1848cda 100644 --- a/functions.php +++ b/functions.php @@ -202,9 +202,10 @@ function accesspress_parallax_scripts() { } add_action( 'wp_enqueue_scripts', 'accesspress_parallax_scripts' ); /** - * Implement the Custom Header feature. + * Implement the rooms feature. */ require get_template_directory() . '/inc/rooms.php'; +require get_template_directory() . '/inc/blog.php'; /** * Implement the Custom Header feature. */ diff --git a/inc/blog.php b/inc/blog.php new file mode 100644 index 0000000..770dbbf --- /dev/null +++ b/inc/blog.php @@ -0,0 +1,738 @@ + + * Author URI: + * License: GPLv2 + **/ + +define( 'GLM_BLOG_POST_TYPE', 'glm-blog' ); +define( 'GLM_BLOG_SINGLE', 'Blog' ); +define( 'GLM_BLOG_PLURAL', 'Blog Posts' ); +define( 'GLM_BLOG_CATEGORY_NAME', 'blog_category' ); +define( 'GLM_BLOG_CATEGORY_SLUG', 'blog-posts-category' ); +define( 'GLM_BLOG_CATEGORY_SINGLE', 'Blog Type' ); +define( 'GLM_BLOG_CATEGORY_PLURAL', 'Blog Types' ); + +// Register Custom Post Type. +/** + * Blog Posts_custom_post_type + * + * Setup of the Wordpress Custom Post Type + * + * @access public + * @return void + */ +function blogs_custom_post_type() { + + $labels = array( + 'name' => _x( GLM_BLOG_PLURAL, 'Post Type General Name' ), + 'singular_name' => _x( GLM_BLOG_SINGLE, 'Post Type Singular Name' ), + 'menu_name' => __( GLM_BLOG_PLURAL ), + 'name_admin_bar' => __( GLM_BLOG_PLURAL ), + 'archives' => __( GLM_BLOG_SINGLE . ' Archives' ), + 'parent_item_colon' => __( 'Parent Blog Post:' ), + 'all_items' => __( 'All Blog Posts' ), + 'add_new_item' => __( 'Add New Blog Post' ), + 'add_new' => __( 'Add New' ), + 'new_item' => __( 'New Blog Post' ), + 'edit_item' => __( 'Edit Room' ), + 'update_item' => __( 'Update Room' ), + 'view_item' => __( 'View Blog Post' ), + 'search_items' => __( 'Search Blog Posts' ), + 'not_found' => __( 'Not found' ), + 'not_found_in_trash' => __( 'Not found in Trash' ), + 'featured_image' => __( 'Featured Image' ), + 'set_featured_image' => __( 'Set featured image' ), + 'remove_featured_image' => __( 'Remove featured image' ), + 'use_featured_image' => __( 'Use as featured image' ), + 'insert_into_item' => __( 'Insert into item' ), + 'uploaded_to_this_item' => __( 'Uploaded to this item' ), + 'items_list' => __( 'Blog Posts list' ), + 'items_list_navigation' => __( 'Blog Posts list navigation' ), + 'filter_items_list' => __( 'Filter items list' ), + ); + + $rewrite = array( + 'slug' => GLM_BLOG_POST_TYPE, + 'with_front' => false, + 'pages' => false, + 'feeds' => false, + ); + + $args = array( + 'label' => __( GLM_BLOG_SINGLE ), + 'description' => __( 'Custom ' . GLM_BLOG_PLURAL ), + 'labels' => $labels, + 'supports' => array( 'title', 'thumbnail', 'revisions', 'editor', 'author'), + 'hierarchical' => true, + 'public' => true, + 'show_ui' => true, + 'show_in_menu' => true, + 'menu_position' => 5, + 'menu_icon' => 'dashicons-lightbulb', + 'show_in_admin_bar' => true, + 'show_in_nav_menus' => true, + 'can_export' => true, + 'has_archive' => true, + 'exclude_from_search' => false, + 'publicly_queryable' => true, + 'rewrite' => $rewrite, + 'capability_type' => 'page', + 'register_meta_box_cb' => 'blogs_add_metaboxes', + ); + + register_post_type( GLM_BLOG_POST_TYPE, $args ); + register_taxonomy_for_object_type( GLM_BLOG_CATEGORY_NAME, GLM_BLOG_POST_TYPE ); +} + +/** + * Blog Posts_add_metaboxes + * + * Add the meta fields + * + * @access public + * @return void + */ +function blogs_add_metaboxes() { + add_meta_box( 'blogs_water', 'Water', 'blogs_water', GLM_BLOG_POST_TYPE, 'side', 'low' ); + add_meta_box( 'blogs_sewer', 'Sewer', 'blogs_sewer', GLM_BLOG_POST_TYPE, 'side', 'low' ); + add_meta_box( 'blogs_power', 'Power', 'blogs_power', GLM_BLOG_POST_TYPE, 'side', 'low' ); + add_meta_box( 'blogs_loop', 'Loop', 'blogs_loop', GLM_BLOG_POST_TYPE, 'side', 'low' ); +// add_meta_box( 'blogs_tents', 'Tents', 'blogs_tents', GLM_BLOG_POST_TYPE, 'side', 'low' ); +} + +/** + * Blog Posts_water + * + * Add field for the water availability + * + * @access public + * @return void + */ +function blogs_water() { + global $post; + $checked = ''; + // Get the features for the post. + $water = get_post_meta( $post->ID, 'blogs_water', true ); + + // Output field. + if ( 'yes' === $water ) { + $checked = 'checked="checked"'; + } + ?> + /> + ID, 'blogs_tents', true ); +// +// // Output field. +// if ( 'yes' === $tents ) { +// $checked = 'checked="checked"'; +// } +// + + +// +//} +/** + * Blog Posts_loop + * + * Add field for the loop + * + * @access public + * @return void + */ +function blogs_loop() { + global $post; + $value = ''; + // Noncename needed to verify where the data originated. + $nonce = wp_create_nonce( 'blogsmeta-meta-noncename' ); + echo ''; + + // Get the features for the post. + $loop = get_post_meta( $post->ID, 'blogs_loop', true ); + // Output field. + if ( !empty( $loop ) ) { + $value = "value=".'"'.$loop .'"'; + } + + ?> + /> + '; + // Get the features for the post. + $sewer = get_post_meta( $post->ID, 'blogs_sewer', true ); + + // Output field. + if ( "yes" === $sewer ) { + $checked = 'checked="checked"'; + } + + ?> + /> + ID, 'blogs_campers', true ); + + // Output field. + if ( !empty( $campers ) ) { + $value = "value=".'"'.$campers .'"'; + } + ?> + /> + '; + + // Get the features for the post. + $power = get_post_meta( $post->ID, 'blogs_power', true ); + // Output field. + if ( !empty( $power ) ) { + $value = "value=".'"'.$power .'"'; + } + + ?> + /> + ID; + } + if ( ! current_user_can( 'edit_post', $post->ID ) ) { + return $post->ID; + } + $water = (isset($_POST['blogs_water']) ? filter_var( $_POST['blogs_water'] ) : '' ); + $sewer = (isset($_POST['blogs_sewer']) ? filter_var( $_POST['blogs_sewer'] ) : '' ); + $power = (isset($_POST['blogs_power']) ? filter_var( $_POST['blogs_power'] ) : '' ); + $loop = (isset($_POST['blogs_loop']) ? filter_var( $_POST['blogs_loop'] ) : '' ); +// $tents = filter_var( $_POST['blogs_tents'] ); + update_post_meta( $post->ID, 'blogs_water', $water ); + update_post_meta( $post->ID, 'blogs_sewer', $sewer ); + update_post_meta( $post->ID, 'blogs_power', $power ); + update_post_meta( $post->ID, 'blogs_loop', $loop ); +// update_post_meta( $post->ID, 'blogs_tents', $tents ); +} +/** + * blogs_taxonomies + * + * Setup of the Taxonomies for the post type + * + * @access public + * @return void + */ +function blogs_taxonomies() { + + // Experiences + $labels = array( + 'name' => _x( GLM_BLOG_CATEGORY_NAME, 'taxonomy general name' ), + 'singular_name' => _x( GLM_BLOG_CATEGORY_NAME, 'taxonomy singular name' ), + 'search_items' => __( 'Search ' . GLM_BLOG_CATEGORY_PLURAL ), + 'all_items' => __( 'All ' . GLM_BLOG_CATEGORY_PLURAL ), + 'parent_item' => __( 'Parent ' . GLM_BLOG_CATEGORY_SINGLE ), + 'parent_item_colon' => __( 'Parent ' . GLM_BLOG_CATEGORY_SINGLE ), + 'edit_item' => __( 'Edit ' . GLM_BLOG_CATEGORY_SINGLE ), + 'update_item' => __( 'Update ' . GLM_BLOG_CATEGORY_SINGLE ), + 'add_new_item' => __( 'Add New ' . GLM_BLOG_CATEGORY_SINGLE ), + 'new_item_name' => __( 'New ' . GLM_BLOG_CATEGORY_SINGLE . ' Name' ), + 'menu_name' => __( 'Site ' . GLM_BLOG_CATEGORY_SINGLE ), + ); + + $capabilities = array( + 'manage_terms' => 'manage_categories', + 'edit_terms' => 'manage_categories', + 'delete_terms' => 'manage_categories', + 'assign_terms' => 'edit_posts', + ); + + $args = array( + 'label' => __( GLM_BLOG_CATEGORY_PLURAL ), + 'rewrite' => array( 'slug' => GLM_BLOG_CATEGORY_SLUG ), + 'capabilities' => $capabilities, + 'public ' => true, + 'show_in_quick_edit' => true, + 'show_in_admin_column' => true, + 'hierarchical' => true + ); + + register_taxonomy( + GLM_BLOG_CATEGORY_NAME, + GLM_BLOG_POST_TYPE, + $args + ); +} + +/** + * blogs_taxonomy_filter_restrict_manage_posts + * + * This will setup the Filter for the Custom taxonomies. + * + * @access public + * @return void + */ +function blogs_taxonomy_filter_restrict_manage_posts() { + global $typenow; + + $post_types = get_post_types( array( '_builtin' => false ) ); + + if ( in_array( $typenow, $post_types ) ) { + $filters = get_object_taxonomies( $typenow ); + + foreach ( $filters as $tax_slug ) { + $tax_obj = get_taxonomy( $tax_slug ); + wp_dropdown_categories( array( + 'show_option_all' => __( 'Show All ' . $tax_obj->label ), + 'taxonomy' => $tax_slug, + 'name' => $tax_obj->name, + 'orderby' => 'name', + 'selected' => ( isset( $_GET[$tax_slug] ) ), + 'hierarchical' => $tax_obj->hierarchical, + 'show_count' => false, + 'hide_empty' => true, + ) ); + } + } +} + +add_action( 'restrict_manage_posts', 'blogs_taxonomy_filter_restrict_manage_posts' ); + +/** + * Blog Posts_taxonomy_filter_post_type_request + * + * Filter the post request for the Taxonomy Filter + * + * @param mixed $query + * @access public + * @return void + */ +function blogs_taxonomy_filter_post_type_request( $query ) { + global $pagenow, $typenow; + + if ( 'edit.php' === $pagenow ) { + $filters = get_object_taxonomies( $typenow ); + foreach ( $filters as $tax_slug ) { + $var = &$query->query_vars[ $tax_slug ]; + + if ( isset( $var ) ) { + $term = get_term_by( 'id', $var, $tax_slug ); + + $var = $term->slug; + } + } + } +} +add_filter( 'parse_query', 'blogs_taxonomy_filter_post_type_request' ); +add_action( 'init', 'blogs_custom_post_type' ); +add_action( 'init', 'blogs_taxonomies' ); +add_action( 'save_post', 'blogs_save_meta' ); + +/** + * Blog Posts_set_admin_columns + * + * Setup of the list columns + * + * @access public + * @return void + */ +function blogs_set_admin_columns() { + add_filter( 'manage_edit-blogs_columns', 'blogs_admin_edit_columns' ); + add_action( 'manage_blogs_posts_custom_column', 'blogs_admin_custom_columns' ); +} + +add_action( 'admin_init', 'blogs_set_admin_columns' ); + +/** + * Blog Posts_admin_edit_columns + * + * Setup of the edit columns. This will create the headers for each column. + * + * @param mixed $columns + * @access public + * @return void + */ +function blogs_admin_edit_columns( $columns ) { + $columns = array( + 'cb' => '', + 'title' => GLM_BLOG_SINGLE . ' Title', + 'blogs_col_cat' => GLM_BLOG_CATEGORY_SINGLE, + ); + return $columns; +} + +/** + * Blog Posts_admin_custom_columns + * + * This will generate the column data for eaoch record. + * + * @param mixed $column + * @access public + * @return void + */ +function blogs_admin_custom_columns( $column ) { + global $post; + + switch ( $column ) { + case 'blogs_col_cat': + $product_cats = get_the_terms( $post->ID, 'blogs_category' ); + $product_cats_html = array(); + if ( $product_cats ) { + foreach ( $product_cats as $product_cat ) { + array_push( $product_cats_html, $product_cat->name ); + } + echo implode( $product_cats_html, ', ' ); + } else { + _e( 'None', 'themeforce' ); + } + break; + case 'blogs_col_tag': + $product_tags = get_the_terms( $post->ID, 'blogs_tag' ); + $product_tags_html = array(); + if ( $product_tags ) { + foreach ( $product_tags as $product_tag ) { + array_push( $product_tags_html, $product_tag->name ); + } + echo implode( $product_tags_html, ', ' ); + } else { + _e( 'None', 'themeforce' ); + } + break; + } +} + +/** + * Blog Posts_shortcode + * + * Add shortcode function. This will call the correct function based on the + * front end search. + * + * @param mixed $atts + * @access public + * @return void + */ +function blogs_shortcode( $atts ) { + extract( shortcode_atts( array( 'limit' => '10' ), $atts ) ); + ob_start(); + + if ( isset( $atts['cat']) ) { + if ( $prod_experience = get_term_by( 'slug', $atts['cat'], GLM_BLOG_CATEGORY_NAME ) ) { + if ( !isset($_REQUEST[ GLM_BLOG_CATEGORY_NAME ] )) { + $_REQUEST[ GLM_BLOG_CATEGORY_NAME ] = $prod_experience->term_id; + } + $cat_id = $prod_experience->term_id; + } + } + $term = get_term_by( "id", $_REQUEST[ GLM_BLOG_CATEGORY_NAME ],"blogs_category" ); + $name = $term->name; + if ( !$name ) { + $name = "ALL PRODUCTS"; + } + global $wp; + echo '
+ Search Products
'; + echo blogs_get_terms_dropdown( $cat_id ); + echo '
'; + + if ( $product_id = filter_var( $_REQUEST['product'], FILTER_VALIDATE_INT ) ) { + blogs_show_product( $product_id ); + } else if ( $cat_id = filter_var( $_REQUEST['category'], FILTER_VALIDATE_INT ) ) { + blogs_list_categories( $cat_id ); + } else if ( !$catid_id && !$product_id ) { + + $text_query = filter_var( $_REQUEST['tsearch'], FILTER_SANITIZE_STRING ); + + if (isset( $_REQUEST[ 'tsearch' ] ) ) { + setcookie("search", "true",time()+2, "/" ); + } else { + setcookie("search", "null",time()+2, "/" ); + } + blogs_list_products( $text_query ); + blogs_list_categories(); + } + + $output = ob_get_contents(); + ob_end_clean(); + return $output; +} + +/** + * Blog Posts_get_terms_dropdown + * + * Generate the taxonomy drop down select + * + * @access public + * @return void + */ +function blogs_get_terms_dropdown( $cat_id ) { + + $taxonomy_name = GLM_BLOG_CATEGORY_NAME; + if ( $cat_id ) { + $main = get_term( $cat_id, GLM_BLOG_CATEGORY_NAME ); + $cats_child = get_term_children( $cat_id, $taxonomy_name ); + $output =""; + } else { + + $parent_terms = get_terms( $taxonomy_name, array('parent' => 0, 'orderby' => 'name', 'hide_empty' => false )); + $terms = get_terms( $taxonomy_name, array('orderby' => 'name', 'hide_empty' => false )); + + $output ="'; } + return $output; +} + + +/** + * Blog Posts_list_products + * + * Create a list of products. + * + * @access public + * @return void + */ +function blogs_list_products( $text_query ) { + global $wpdb, $wp; + $cat = get_term( $cat_id, GLM_BLOG_CATEGORY_NAME ); + $args = array( + 'posts_per_page' => -1, + 'post_type' => GLM_BLOG_POST_TYPE, + 's' => $text_query, + ); + $blogs_category = ( isset( $_REQUEST[ GLM_BLOG_CATEGORY_NAME ] ) ) + ? filter_var( $_REQUEST[ GLM_BLOG_CATEGORY_NAME ] ) + : false; + + if ( $blogs_category ) { + $args['tax_query'] = array( + 'relation' => 'AND', + ); + $args['tax_query'][] = array( + 'taxonomy' => GLM_BLOG_CATEGORY_NAME, + 'field' => 'id', + 'terms' => $blogs_category, + ); + } + + $products = get_posts( $args ); + $total_products = count( $products ); + $current_url = esc_url( add_query_arg( $wp->query_string, '', home_url( $wp->request ) ) ); + $iterator = 1; + + foreach ( $products as $product ) { + $product_terms = wp_get_post_terms( $product->ID, GLM_BLOG_CATEGORY_NAME, 'name' ); + $p_term = $product_terms[0]; + $product->term = $p_term->name; + $product->end = false; + if ( $iterator == $total_products ) { + $product->end = true; + } + $cat->href = "?blogs_category="; + $product->href = $current_url + . ( ( strpos( $current_url, '?' ) ) ? '&' : '?' ) + . "product=" . $product->ID; + ++$iterator; + } + + include 'views/list_products.php'; + return; +} +/** + * blogs_list_categories + * + * Create a list of categories. + * + * @param bool $cat_id + * @access public + * @return void + */ +function blogs_list_categories( $cat_id = null ) { + global $wpdb, $wp; + + $taxonomy = GLM_BLOG_CATEGORY_NAME; + $args = array( + 'hide_empty' => false, + 'pad_counts' => true + ); + if ( $cat_id ) { + $args['child_of'] = $cat_id; + } else { + $args['parent'] = 0; + } + $taxonomy_terms = get_terms( $taxonomy, $args ); + + + $total_terms = count( $taxonomy_terms ); + $current_url = esc_url( add_query_arg( $wp->query_string, '', home_url( $wp->request ) ) ); + $iterator = 1; + + foreach ( $taxonomy_terms as $term ) { + $term->end = false; + if ( $iterator === $total_terms) { + $term->end = true; + } + $term->href .= //$current_url +// ( ( strpos( $current_url, '?' ) ) ? '&' : '?' ). + "?blogs_category=" . $term->term_id; + ++$iterator; + } + + include 'views/list_categories.php'; + return; +} + +/** + * Blog Posts_show_product + * + * Create a product detail page. + * + * @param mixed $prod_id + * @access public + * @return void + */ +function blogs_show_product( $prod_id ) { + global $wpdb, $wp; + $product = get_post( $prod_id ); + include 'views/product_detail.php'; + return; +} +/** + * Blog Posts_show_category + * + * Create a product detail page. + * + * @param mixed $cat_id + * @access public + * @return void + */ +function blogs_show_category( $cat_id ) { + global $wpdb, $wp; + $term = get_terms( + GLM_BLOG_CATEGORY_NAME, + array( + 'child_of' => $cat_id, + 'hide_empty' => true, + //'parent' => $catid_id, + //'hierarchical' => false + ) + ); + + include 'views/category_detail.php'; + return; +} +add_shortcode( 'blogs', 'blogs_shortcode' ); + + diff --git a/inc/rooms.php b/inc/rooms.php index 368718d..9e638e6 100644 --- a/inc/rooms.php +++ b/inc/rooms.php @@ -9,13 +9,13 @@ * License: GPLv2 **/ -define( 'GLM_POST_TYPE', 'sitemap' ); -define( 'GLM_PRODUCT_SINGLE', 'Room' ); -define( 'GLM_PRODUCT_PLURAL', 'Rooms' ); -define( 'GLM_CATEGORY_NAME', 'rooms_category' ); -define( 'GLM_CATEGORY_SLUG', 'rooms-category' ); -define( 'GLM_CATEGORY_SINGLE', 'Site' ); -define( 'GLM_CATEGORY_PLURAL', 'Room Types' ); +define( 'GLM_ROOM_POST_TYPE', 'glm-rooms' ); +define( 'GLM_ROOM_SINGLE', 'Room' ); +define( 'GLM_ROOM_PLURAL', 'Rooms' ); +define( 'GLM_ROOM_CATEGORY_NAME', 'rooms_category' ); +define( 'GLM_ROOM_CATEGORY_SLUG', 'rooms-category' ); +define( 'GLM_ROOM_CATEGORY_SINGLE', 'Type' ); +define( 'GLM_ROOM_CATEGORY_PLURAL', 'Room Types' ); // Register Custom Post Type. /** @@ -29,11 +29,11 @@ define( 'GLM_CATEGORY_PLURAL', 'Room Types' ); function rooms_custom_post_type() { $labels = array( - 'name' => _x( GLM_PRODUCT_PLURAL, 'Post Type General Name' ), - 'singular_name' => _x( GLM_PRODUCT_SINGLE, 'Post Type Singular Name' ), - 'menu_name' => __( GLM_PRODUCT_PLURAL ), - 'name_admin_bar' => __( GLM_PRODUCT_PLURAL ), - 'archives' => __( GLM_PRODUCT_SINGLE . ' Archives' ), + 'name' => _x( GLM_ROOM_PLURAL, 'Post Type General Name' ), + 'singular_name' => _x( GLM_ROOM_SINGLE, 'Post Type Singular Name' ), + 'menu_name' => __( GLM_ROOM_PLURAL ), + 'name_admin_bar' => __( GLM_ROOM_PLURAL ), + 'archives' => __( GLM_ROOM_SINGLE . ' Archives' ), 'parent_item_colon' => __( 'Parent Room:' ), 'all_items' => __( 'All Rooms' ), 'add_new_item' => __( 'Add New Room' ), @@ -57,15 +57,15 @@ function rooms_custom_post_type() { ); $rewrite = array( - 'slug' => GLM_POST_TYPE, + 'slug' => GLM_ROOM_POST_TYPE , 'with_front' => false, 'pages' => false, 'feeds' => false, ); $args = array( - 'label' => __( GLM_PRODUCT_SINGLE ), - 'description' => __( 'Custom ' . GLM_PRODUCT_PLURAL ), + 'label' => __( GLM_ROOM_SINGLE ), + 'description' => __( 'Custom ' . GLM_ROOM_PLURAL ), 'labels' => $labels, 'supports' => array( 'title', 'thumbnail', 'revisions', 'editor', 'author'), 'hierarchical' => true, @@ -85,8 +85,8 @@ function rooms_custom_post_type() { 'register_meta_box_cb' => 'rooms_add_metaboxes', ); - register_post_type( GLM_POST_TYPE, $args ); - register_taxonomy_for_object_type( GLM_CATEGORY_NAME, GLM_POST_TYPE ); + register_post_type( GLM_ROOM_POST_TYPE , $args ); + register_taxonomy_for_object_type( GLM_ROOM_CATEGORY_NAME, GLM_ROOM_POST_TYPE ); } /** @@ -98,11 +98,11 @@ function rooms_custom_post_type() { * @return void */ function rooms_add_metaboxes() { - add_meta_box( 'rooms_water', 'Water', 'rooms_water', GLM_POST_TYPE, 'side', 'low' ); - add_meta_box( 'rooms_sewer', 'Sewer', 'rooms_sewer', GLM_POST_TYPE, 'side', 'low' ); - add_meta_box( 'rooms_power', 'Power', 'rooms_power', GLM_POST_TYPE, 'side', 'low' ); - add_meta_box( 'rooms_loop', 'Loop', 'rooms_loop', GLM_POST_TYPE, 'side', 'low' ); -// add_meta_box( 'rooms_tents', 'Tents', 'rooms_tents', GLM_POST_TYPE, 'side', 'low' ); + add_meta_box( 'rooms_water', 'Water', 'rooms_water', GLM_ROOM_POST_TYPE , 'side', 'low' ); + add_meta_box( 'rooms_sewer', 'Sewer', 'rooms_sewer', GLM_ROOM_POST_TYPE , 'side', 'low' ); + add_meta_box( 'rooms_power', 'Power', 'rooms_power', GLM_ROOM_POST_TYPE , 'side', 'low' ); + add_meta_box( 'rooms_loop', 'Loop', 'rooms_loop', GLM_ROOM_POST_TYPE , 'side', 'low' ); +// add_meta_box( 'rooms_tents', 'Tents', 'rooms_tents', GLM_ROOM_POST_TYPE , 'side', 'low' ); } /** @@ -293,17 +293,17 @@ function rooms_taxonomies() { // Experiences $labels = array( - 'name' => _x( GLM_CATEGORY_NAME, 'taxonomy general name' ), - 'singular_name' => _x( GLM_CATEGORY_NAME, 'taxonomy singular name' ), - 'search_items' => __( 'Search ' . GLM_CATEGORY_PLURAL ), - 'all_items' => __( 'All ' . GLM_CATEGORY_PLURAL ), - 'parent_item' => __( 'Parent ' . GLM_CATEGORY_SINGLE ), - 'parent_item_colon' => __( 'Parent ' . GLM_CATEGORY_SINGLE ), - 'edit_item' => __( 'Edit ' . GLM_CATEGORY_SINGLE ), - 'update_item' => __( 'Update ' . GLM_CATEGORY_SINGLE ), - 'add_new_item' => __( 'Add New ' . GLM_CATEGORY_SINGLE ), - 'new_item_name' => __( 'New ' . GLM_CATEGORY_SINGLE . ' Name' ), - 'menu_name' => __( 'Site ' . GLM_CATEGORY_SINGLE ), + 'name' => _x( GLM_ROOM_CATEGORY_NAME, 'taxonomy general name' ), + 'singular_name' => _x( GLM_ROOM_CATEGORY_NAME, 'taxonomy singular name' ), + 'search_items' => __( 'Search ' . GLM_ROOM_CATEGORY_PLURAL ), + 'all_items' => __( 'All ' . GLM_ROOM_CATEGORY_PLURAL ), + 'parent_item' => __( 'Parent ' . GLM_ROOM_CATEGORY_SINGLE ), + 'parent_item_colon' => __( 'Parent ' . GLM_ROOM_CATEGORY_SINGLE ), + 'edit_item' => __( 'Edit ' . GLM_ROOM_CATEGORY_SINGLE ), + 'update_item' => __( 'Update ' . GLM_ROOM_CATEGORY_SINGLE ), + 'add_new_item' => __( 'Add New ' . GLM_ROOM_CATEGORY_SINGLE ), + 'new_item_name' => __( 'New ' . GLM_ROOM_CATEGORY_SINGLE . ' Name' ), + 'menu_name' => __( 'Site ' . GLM_ROOM_CATEGORY_SINGLE ), ); $capabilities = array( @@ -314,8 +314,8 @@ function rooms_taxonomies() { ); $args = array( - 'label' => __( GLM_CATEGORY_PLURAL ), - 'rewrite' => array( 'slug' => GLM_CATEGORY_SLUG ), + 'label' => __( GLM_ROOM_CATEGORY_PLURAL ), + 'rewrite' => array( 'slug' => GLM_ROOM_CATEGORY_SLUG ), 'capabilities' => $capabilities, 'public ' => true, 'show_in_quick_edit' => true, @@ -324,8 +324,8 @@ function rooms_taxonomies() { ); register_taxonomy( - GLM_CATEGORY_NAME, - GLM_POST_TYPE, + GLM_ROOM_CATEGORY_NAME, + GLM_ROOM_POST_TYPE , $args ); } @@ -421,8 +421,8 @@ add_action( 'admin_init', 'rooms_set_admin_columns' ); function rooms_admin_edit_columns( $columns ) { $columns = array( 'cb' => '', - 'title' => GLM_PRODUCT_SINGLE . ' Title', - 'rooms_col_cat' => GLM_CATEGORY_SINGLE, + 'title' => GLM_ROOM_SINGLE . ' Title', + 'rooms_col_cat' => GLM_ROOM_CATEGORY_SINGLE, ); return $columns; } @@ -482,14 +482,14 @@ function rooms_shortcode( $atts ) { ob_start(); if ( isset( $atts['cat']) ) { - if ( $prod_experience = get_term_by( 'slug', $atts['cat'], GLM_CATEGORY_NAME ) ) { - if ( !isset($_REQUEST[ GLM_CATEGORY_NAME ] )) { - $_REQUEST[ GLM_CATEGORY_NAME ] = $prod_experience->term_id; + if ( $prod_experience = get_term_by( 'slug', $atts['cat'], GLM_ROOM_CATEGORY_NAME ) ) { + if ( !isset($_REQUEST[ GLM_ROOM_CATEGORY_NAME ] )) { + $_REQUEST[ GLM_ROOM_CATEGORY_NAME ] = $prod_experience->term_id; } $cat_id = $prod_experience->term_id; } } - $term = get_term_by( "id", $_REQUEST[ GLM_CATEGORY_NAME ],"rooms_category" ); + $term = get_term_by( "id", $_REQUEST[ GLM_ROOM_CATEGORY_NAME ],"rooms_category" ); $name = $term->name; if ( !$name ) { $name = "ALL PRODUCTS"; @@ -538,17 +538,17 @@ function rooms_shortcode( $atts ) { */ function rooms_get_terms_dropdown( $cat_id ) { - $taxonomy_name = GLM_CATEGORY_NAME; + $taxonomy_name = GLM_ROOM_CATEGORY_NAME; if ( $cat_id ) { - $main = get_term( $cat_id, GLM_CATEGORY_NAME ); + $main = get_term( $cat_id, GLM_ROOM_CATEGORY_NAME ); $cats_child = get_term_children( $cat_id, $taxonomy_name ); - $output =""; foreach ( $cats_child as $cat ) { $output .= ''; } $output .=""; @@ -557,33 +557,33 @@ function rooms_get_terms_dropdown( $cat_id ) { $parent_terms = get_terms( $taxonomy_name, array('parent' => 0, 'orderby' => 'name', 'hide_empty' => false )); $terms = get_terms( $taxonomy_name, array('orderby' => 'name', 'hide_empty' => false )); - $output =""; // Get parent categories. foreach ( $parent_terms as $parent ) { // Get children of each category. $child_terms = get_terms( $taxonomy_name, array('parent'=> $parent->term_id, 'child_of' => $parent->term_id, 'orderby' => 'name', 'hide_empty' => false)); $output .= ''; foreach ($child_terms as $child ) { $grandchildren = get_terms( $taxonomy_name, array('parent'=> $child->term_id, 'child_of' => $child->term_id, 'orderby' => 'name', 'hide_empty' => false )); $output .= ''; foreach ( $grandchildren as $grand_child) { $great_grandchildren = get_terms( $taxonomy_name, array( 'parent'=> $grand_child->term_id, 'child_of' => $grand_child->term_id, 'orderby' => 'name', 'hide_empty' => false )); $output .= ''; foreach ( $great_grandchildren as $great_grandchild ) { $output .= ''; @@ -606,14 +606,14 @@ function rooms_get_terms_dropdown( $cat_id ) { */ function rooms_list_products( $text_query ) { global $wpdb, $wp; - $cat = get_term( $cat_id, GLM_CATEGORY_NAME ); + $cat = get_term( $cat_id, GLM_ROOM_CATEGORY_NAME ); $args = array( 'posts_per_page' => -1, - 'post_type' => GLM_POST_TYPE, + 'post_type' => GLM_ROOM_POST_TYPE , 's' => $text_query, ); - $rooms_category = ( isset( $_REQUEST[ GLM_CATEGORY_NAME ] ) ) - ? filter_var( $_REQUEST[ GLM_CATEGORY_NAME ] ) + $rooms_category = ( isset( $_REQUEST[ GLM_ROOM_CATEGORY_NAME ] ) ) + ? filter_var( $_REQUEST[ GLM_ROOM_CATEGORY_NAME ] ) : false; if ( $rooms_category ) { @@ -621,7 +621,7 @@ function rooms_list_products( $text_query ) { 'relation' => 'AND', ); $args['tax_query'][] = array( - 'taxonomy' => GLM_CATEGORY_NAME, + 'taxonomy' => GLM_ROOM_CATEGORY_NAME, 'field' => 'id', 'terms' => $rooms_category, ); @@ -633,7 +633,7 @@ function rooms_list_products( $text_query ) { $iterator = 1; foreach ( $products as $product ) { - $product_terms = wp_get_post_terms( $product->ID, GLM_CATEGORY_NAME, 'name' ); + $product_terms = wp_get_post_terms( $product->ID, GLM_ROOM_CATEGORY_NAME, 'name' ); $p_term = $product_terms[0]; $product->term = $p_term->name; $product->end = false; @@ -662,7 +662,7 @@ function rooms_list_products( $text_query ) { function rooms_list_categories( $cat_id = null ) { global $wpdb, $wp; - $taxonomy = GLM_CATEGORY_NAME; + $taxonomy = GLM_ROOM_CATEGORY_NAME; $args = array( 'hide_empty' => false, 'pad_counts' => true @@ -721,7 +721,7 @@ function rooms_show_product( $prod_id ) { function rooms_show_category( $cat_id ) { global $wpdb, $wp; $term = get_terms( - GLM_CATEGORY_NAME, + GLM_ROOM_CATEGORY_NAME, array( 'child_of' => $cat_id, 'hide_empty' => true,