WordPress.org

Plugin Directory

Changeset 397904


Ignore:
Timestamp:
06/16/11 10:38:48 (3 years ago)
Author:
neoxx
Message:

1.40

  • adopted query-handling on post-tags archive-pages
Location:
tagpages/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • tagpages/trunk/readme.txt

    r350748 r397904  
    44Tags: taxonomy, taxonomies, tag, tags, tagging, page, pages, post-tag, post-tags, page-tag, page-tags, multisite, multi-site 
    55Requires at least: 3.0 
    6 Tested up to: 3.2 
     6Tested up to: 3.3 
    77Stable tag: trunk 
    88 
     
    6363== Changelog == 
    6464 
     65= 1.40 = 
     66 
     67* adopted query-handling on post-tags archive-pages 
     68 
    6569= 1.31 = 
    6670 
  • tagpages/trunk/tagpages.php

    r350748 r397904  
    66Description: Adds post-tags functionality for pages. 
    77Author: Dr. Bernhard Riedl 
    8 Version: 1.31 
     8Version: 1.40 
    99Author URI: http://www.bernhard.riedl.name/ 
    1010*/ 
     
    9797 
    9898        /* 
    99         adds post_type 'page' to where-clause 
     99        adds post_type 'page' to query vars 
    100100        of front-end tag-queries 
    101101        */ 
    102102 
    103         add_filter('posts_where', array(&$this, 'add_page_to_tags_where_clause')); 
     103        add_filter('pre_get_posts', array(&$this, 'add_page_to_tags_query')); 
    104104 
    105105        /* 
     
    173173    /* 
    174174    add post_type 'page' 
    175     to where statement of 
     175    to query vars of 
    176176    front-end tag-queries 
    177177    */ 
    178178 
    179     function add_page_to_tags_where_clause($where) { 
     179    function add_page_to_tags_query($query) { 
    180180        if (is_tag() && !is_admin()) { 
    181             global $wpdb; 
    182  
    183             $where = str_replace("$wpdb->posts.post_type = 'post'", "$wpdb->posts.post_type IN ('post', 'page')", $where); 
     181            $post_type=$query->get('post_type'); 
     182 
     183            /* 
     184            if post_type is set to 'any' 
     185            or includes 'page' 
     186            there's nothing more to do 
     187            */ 
     188 
     189            if (!empty($post_type) && (($post_type=='any') || (in_array('page', (array) $post_type)))) 
     190                return $query; 
     191 
     192            /* 
     193            otherwise include post and page 
     194            into post_type 
     195            */ 
     196 
     197            $query->set('post_type', array_unique(array_merge((array) $post_type, array('post', 'page')))); 
    184198        } 
    185199 
    186         return $where; 
     200        return $query; 
    187201    } 
    188202 
     
    274288 
    275289    function head_meta() { 
    276         echo("<meta name=\"".$this->get_nicename()."\" content=\"1.31\"/>\n"); 
     290        echo("<meta name=\"".$this->get_nicename()."\" content=\"1.40\"/>\n"); 
    277291    } 
    278292 
Note: See TracChangeset for help on using the changeset viewer.