Make WordPress Core

Changeset 6074


Ignore:
Timestamp:
09/11/2007 06:06:52 PM (19 years ago)
Author:
ryan
Message:

Set tag_id to first tag in multi tag queries. Have single_cat_title() fallback to single_tag_title() if is_tag so that existing category templates will work with tags. fixes #4506

Location:
trunk/wp-includes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/general-template.php

    r6045 r6074  
    276276                                return strip_tags($my_cat_name);
    277277                }
     278        } else if ( is_tag() ) {
     279                return single_tag_title($prefix, $display);
    278280        }
    279281}
     
    281283
    282284function single_tag_title($prefix = '', $display = true ) {
     285        if ( !is_tag() )
     286                return;
     287
    283288        $tag_id = intval( get_query_var('tag_id') );
     289
    284290        if ( !empty($tag_id) ) {
    285                 $my_tag = &get_term($tag_id, 'post_tag');
     291                $my_tag = &get_term($tag_id, 'post_tag', OBJECT, 'display');
    286292                $my_tag_name = apply_filters('single_tag_title', $my_tag->name);
    287293                if ( !empty($my_tag_name) ) {
    288294                        if ( $display )
    289                                 echo $prefix.strip_tags($my_tag_name);
     295                                echo $prefix . $my_tag_name;
    290296                        else
    291                                 return strip_tags($my_tag_name);
     297                                return $my_tag_name;
    292298                }
    293299        }
  • trunk/wp-includes/query.php

    r6035 r6074  
    606606                        }
    607607
    608                         if ( !is_array($qv['tag_slug__and']) || empty($qv['tag_slug__amd']) ) {
     608                        if ( !is_array($qv['tag_slug__and']) || empty($qv['tag_slug__and']) ) {
    609609                                $qv['tag_slug__and'] = array();
    610610                        } else {
     
    10271027                        $include_tags = "'" . implode("', '", $q['tag__in']) . "'";
    10281028                        $whichcat .= " AND $wpdb->term_taxonomy.term_id IN ($include_tags) ";
     1029                        $reqtag = is_term( $q['tag__in'][0], 'post_tag' );
     1030                        if ( !empty($reqtag) )
     1031                                $q['tag_id'] = $reqtag['term_id'];
    10291032                }
    10301033
     
    10341037                        $include_tags = "'" . implode("', '", $q['tag_slug__in']) . "'";
    10351038                        $whichcat .= " AND $wpdb->terms.slug IN ($include_tags) ";
     1039                        $reqtag = is_term( $q['tag_slug__in'][0], 'post_tag' );
     1040                        if ( !empty($reqtag) )
     1041                                $q['tag_id'] = $reqtag['term_id'];
    10361042                }
    10371043
     
    10421048                                $whichcat .= " AND $wpdb->posts.ID NOT IN ($out_posts)";
    10431049                        }
     1050                }
     1051
     1052                if ( !empty($q['tag__and']) ) {
     1053                        $count = 0;
     1054                        foreach ( $q['tag__and'] as $tag_and ) {
     1055                                $join .= " LEFT JOIN $wpdb->term_relationships AS tr$count ON ($wpdb->posts.ID = tr$count.object_id) LEFT JOIN $wpdb->term_taxonomy AS tt$count ON (tr$count.term_taxonomy_id = tt$count.term_taxonomy_id) ";
     1056                                $whichcat .= " AND tt$count.term_id = '$tag_and' ";
     1057                                $count++;
     1058                        }
     1059                        $reqtag = is_term( $q['tag__and'][0], 'post_tag' );
     1060                        if ( !empty($reqtag) )
     1061                                $q['tag_id'] = $reqtag['term_id'];
    10441062                }
    10451063
     
    10511069                                $count++;
    10521070                        }
     1071                        $reqtag = is_term( $q['tag_slug__and'][0], 'post_tag' );
     1072                        if ( !empty($reqtag) )
     1073                                $q['tag_id'] = $reqtag['term_id'];
    10531074                }
    10541075
Note: See TracChangeset for help on using the changeset viewer.