function wds_metadesc() { if (is_admin()) { return false; } global $post, $wp_query; //global $wds_options; $wds_options = get_wds_options(); if (is_singular()) { if (function_exists('groups_get_current_group') && 'groups' == bp_current_component() && ($group = groups_get_current_group())) { // BP group? $optvar = !empty($wds_options['metadesc-bp_groups']) ? $wds_options['metadesc-bp_groups'] : ''; $metadesc = wds_replace_vars($optvar, array('name' => $group->name, 'description' => $group->description)); } else { if (function_exists('bp_current_component') && 'profile' == bp_current_component()) { $optvar = !empty($wds_options['metadesc-bp_profile']) ? $wds_options['metadesc-bp_profile'] : ''; $metadesc = wds_replace_vars($optvar, array('full_name' => bp_get_displayed_user_fullname(), 'username' => bp_get_displayed_user_username())); } else { $metadesc = wds_get_value('metadesc'); if (empty($metadesc)) { $optvar = !empty($wds_options['metadesc-' . $post->post_type]) ? $wds_options['metadesc-' . $post->post_type] : ''; $metadesc = wds_replace_vars($optvar, (array) $post); } } } } else { if (function_exists('is_shop') && is_shop() && function_exists('woocommerce_get_page_id')) { // WooCommerce shop page $post_id = woocommerce_get_page_id('shop'); $metadesc = wds_get_value('metadesc', $post_id); if (empty($metadesc)) { $optvar = !empty($wds_options['metadesc-' . $post->post_type]) ? $wds_options['metadesc-' . $post->post_type] : ''; $metadesc = wds_replace_vars($optvar, (array) $post); } } else { if (is_home() && 'posts' == get_option('show_on_front') && isset($wds_options['metadesc-home'])) { $metadesc = wds_replace_vars($wds_options['metadesc-home'], array()); } else { if (is_home() && 'posts' != get_option('show_on_front')) { $post = get_post(get_option('page_for_posts')); $metadesc = wds_get_value('metadesc'); if (($metadesc == '' || !$metadesc) && isset($wds_options['metadesc-' . $post->post_type])) { $metadesc = wds_replace_vars($wds_options['metadesc-' . $post->post_type], (array) $post); } } else { if (is_category() || is_tag() || is_tax()) { $term = $wp_query->get_queried_object(); $metadesc = wds_get_term_meta($term, $term->taxonomy, 'wds_desc'); if (!$metadesc && isset($wds_options['metadesc-' . $term->taxonomy])) { $metadesc = wds_replace_vars($wds_options['metadesc-' . $term->taxonomy], (array) $term); } } else { if (is_author()) { $author_id = get_query_var('author'); $metadesc = get_the_author_meta('wds_metadesc', $author_id); } else { if (function_exists('groups_get_current_group') && 'groups' == bp_current_component() && ($group = groups_get_current_group())) { // BP group? $optvar = !empty($wds_options['metadesc-bp_groups']) ? $wds_options['metadesc-bp_groups'] : ''; $metadesc = wds_replace_vars($optvar, array('name' => $group->name, 'description' => $group->description)); } else { if (function_exists('bp_current_component') && 'profile' == bp_current_component()) { $optvar = !empty($wds_options['metadesc-bp_profile']) ? $wds_options['metadesc-bp_profile'] : ''; $metadesc = wds_replace_vars($optvar, array('full_name' => bp_get_displayed_user_fullname(), 'username' => bp_get_displayed_user_username())); } } } } } } } } if (!empty($metadesc)) { echo "\t" . '<meta name="description" content="' . esc_attr(strip_tags(stripslashes(apply_filters('wds_metadesc', $metadesc)))) . '" />' . "\n"; } }
/** * Loads taxonomies into the sitemap. */ private function _load_taxonomy_items() { if (wds_is_switch_active('WDS_SITEMAP_SKIP_TAXONOMIES')) { return false; } global $wds_options; $tax = array(); $raw = get_taxonomies(array('public' => true, 'show_ui' => true), 'objects'); foreach ($raw as $tid => $taxonomy) { if (@$wds_options['taxonomies-' . $taxonomy->name . '-not_in_sitemap']) { continue; } $tax[] = $taxonomy->name; } $terms = get_terms($tax, array('hide_empty' => true)); foreach ($terms as $term) { if (wds_get_term_meta($term, $term->taxonomy, 'wds_noindex')) { continue; } $canonical = wds_get_term_meta($term, $term->taxonomy, 'wds_canonical'); $link = $canonical ? $canonical : get_term_link($term, $term->taxonomy); $priority = apply_filters('wds-term-priority', $term->count > 10 ? 0.6 : ($term->count > 3 ? 0.4 : 0.2), $term); // -------------------------------------- Potential kludge $q = new WP_Query(array('tax_query' => array('taxonomy' => $term->taxonomy, 'field' => 'id', 'terms' => $term->term_id), 'orderby' => 'date', 'order' => 'DESC', 'posts_per_page' => 1)); $time = $q->posts ? strtotime($q->posts[0]->post_date) : time(); // -------------------------------------- Potential kludge $this->_add_item($link, $priority, 'weekly', $time); } }