/** * wpmlm_obtain_the_title function, for replaacing the page title with the category or product * @return string - the new page title */ function wpmlm_obtain_the_title() { global $wpdb, $wp_query, $wpmlm_title_data; $output = null; $category_id = null; if (!isset($wp_query->query_vars['wpmlm_product_category']) && !isset($wp_query->query_vars['wpmlm-product'])) { return; } if (!isset($wp_query->query_vars['wpmlm_product_category']) && isset($wp_query->query_vars['wpmlm-product'])) { $wp_query->query_vars['wpmlm_product_category'] = 0; } if (isset($wp_query->query_vars['taxonomy']) && 'wpmlm_product_category' == $wp_query->query_vars['taxonomy'] || isset($wp_query->query_vars['wpmlm_product_category'])) { $category_id = wpmlm_get_the_category_id($wp_query->query_vars['wpmlm_product_category'], 'slug'); } if ($category_id > 0) { if (isset($wpmlm_title_data['category'][$category_id])) { $output = $wpmlm_title_data['category'][$category_id]; } else { $term = get_term($category_id, 'wpmlm_product_category'); $output = $term->name; $wpmlm_title_data['category'][$category_id] = $output; } } if (!isset($_GET['wpmlm-product'])) { $_GET['wpmlm-product'] = 0; } if (!isset($wp_query->query_vars['wpmlm-product'])) { $wp_query->query_vars['wpmlm-product'] = ''; } if (isset($wp_query->query_vars['wpmlm-product']) || is_string($_GET['wpmlm-product'])) { $product_name = $wp_query->query_vars['wpmlm-product']; if (isset($wpmlm_title_data['product'][$product_name])) { $product_list = array(); $full_product_name = $wpmlm_title_data['product'][$product_name]; } else { if ($product_name != '') { $product_id = $wp_query->post->ID; $full_product_name = $wpdb->get_var($wpdb->prepare("SELECT `post_title` FROM `{$wpdb->posts}` WHERE `ID`= %d LIMIT 1", $product_id)); $wpmlm_title_data['product'][$product_name] = $full_product_name; } else { if (isset($_REQUEST['product_id'])) { $product_id = absint($_REQUEST['product_id']); $product_name = $wpdb->get_var($wpdb->prepare("SELECT `post_title` FROM `{$wpdb->posts}` WHERE `ID`= %d LIMIT 1", $product_id)); $full_product_name = $wpdb->get_var($wpdb->prepare("SELECT `post_title` FROM `{$wpdb->posts}` WHERE `ID`= %d LIMIT 1", $product_id)); $wpmlm_title_data['product'][$product_name] = $full_product_name; } else { //This has to exist, otherwise we would have bailed earlier. $category = $wp_query->query_vars['wpmlm_product_category']; $cat_term = get_term_by('slug', $wp_query->query_vars['wpmlm_product_category'], 'wpmlm_product_category'); $full_product_name = $cat_term->name; } } } $output = $full_product_name; } if (isset($full_product_name) && $full_product_name != null) { $output = htmlentities(stripslashes($full_product_name), ENT_QUOTES, 'UTF-8'); } $seperator = ' | '; $seperator = apply_filters('wpmlm_the_wp_title_seperator', $seperator); return $output . $seperator; }
/** * Checks the category slug for a display type, if none set returns default * << May need reworking to be more specific to the taxonomy type >> * @access public * * @since 3.8 * @param $slug(string) * @return $slug either from db or 'default' if none set */ function wpmlm_get_the_category_display($slug) { global $wpdb; $default_display_type = get_option('product_view'); if (!empty($slug) && is_string($slug)) { $category_id = wpmlm_get_the_category_id($slug, 'slug'); $display_type = wpmlm_get_categorymeta($category_id, 'display_type'); } if (!empty($display_type)) { return $display_type; } else { return $default_display_type; } }