Ejemplo n.º 1
0
 /**
  * Overrides archive pages e.g. locations, events, event categories, event tags based on user settings
  * @param string $template
  * @return string
  */
 function template($template)
 {
     global $wp_query, $EM_Category;
     if (is_archive()) {
         if (!empty($wp_query->queried_object->taxonomy) && $wp_query->queried_object->taxonomy == EM_TAXONOMY_CATEGORY && get_option('dbem_cp_categories_formats', true)) {
             $EM_Category = em_get_category($wp_query->queried_object->term_id);
             add_filter('the_content', array('EM_Category_Taxonomy', 'the_content'));
             $wp_query->posts = array();
             $wp_query->posts[0] = new stdClass();
             $wp_query->posts[0]->post_title = $EM_Category->output(get_option('dbem_category_page_title_format'));
             $post_array = array('ID', 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_excerpt', 'post_status', 'comment_status', 'ping_status', 'post_password', 'post_name', 'to_ping', 'pinged', 'post_modified', 'post_modified_gmt', 'post_content_filtered', 'post_parent', 'guid', 'menu_order', 'post_type', 'post_mime_type', 'comment_count', 'filter');
             foreach ($post_array as $post_array_item) {
                 $wp_query->posts[0]->{$post_array_item} = '';
             }
             $wp_query->post = $wp_query->posts[0];
             $wp_query->post_count = 1;
             $wp_query->found_posts = 1;
             $wp_query->max_num_pages = 1;
             //echo "<pre>"; print_r($wp_query); echo "</pre>";
             $template = locate_template(array('page.php', 'index.php'), false);
             //category becomes a page
         }
     }
     return $template;
 }
Ejemplo n.º 2
0
 function the_content($content)
 {
     global $wp_query, $EM_Category, $post, $em_category_id;
     if (!empty($wp_query->em_category_id) || $post->ID == get_option('dbem_categories_page') && !empty($em_category_id)) {
         $EM_Category = empty($wp_query->em_category_id) ? em_get_category($em_category_id) : em_get_category($wp_query->em_category_id);
         ob_start();
         em_locate_template('templates/category-single.php', true);
         return ob_get_clean();
     }
     return $content;
 }
 public static function the_content($content)
 {
     global $wp_query, $EM_Category, $post, $em_category_id;
     $is_categories_page = $post->ID == get_option('dbem_categories_page');
     $category_flag = !empty($wp_query->em_category_id) || !empty($em_category_id);
     if ($is_categories_page && $category_flag || empty($post->ID) && $category_flag) {
         $EM_Category = empty($wp_query->em_category_id) ? em_get_category($em_category_id) : em_get_category($wp_query->em_category_id);
         ob_start();
         em_locate_template('templates/category-single.php', true);
         return ob_get_clean();
     }
     return $content;
 }
Ejemplo n.º 4
0
/**
 * Is this a a single category page?
 * @return boolean
 */
function em_is_category_page($category = false)
{
    if (!empty($category)) {
        global $wp_query, $post, $em_category_id;
        if (is_tax(EM_TAXONOMY_CATEGORY, $category)) {
            return true;
        }
        if (!empty($wp_query->em_category_id) || $post->ID == get_option('dbem_categories_page') && !empty($em_category_id)) {
            $cat_id = !empty($wp_query->em_category_id) ? $wp_query->em_category_id : $em_category_id;
            $EM_Category = em_get_category($cat_id);
            if (is_array($category)) {
                $is_category = array();
                foreach ($category as $id_or_term) {
                    $is_category[] = is_numeric($id_or_term) ? $EM_Category->id == $id_or_term : $EM_Category->slug == $id_or_term || $EM_Category->name == $id_or_term;
                }
                return in_array(true, $is_category);
            } else {
                $is_category = is_numeric($category) ? $EM_Category->id == $category : $EM_Category->slug == $category || $EM_Category->name == $category;
                return $is_category;
            }
            return false;
        }
        return false;
    }
    return em_get_page_type() == 'category';
}