Roletka s tagy v sidebaru

Do sidebaru lze doplnit roletku s existujícími tagy přidáním funkcí do *Funkcí aktuálního vzhledu*,

/—code php
8, ‚largest‘ => 22, ‚unit‘ => ‚pt‘, ‚number‘ => 45,
‚format‘ => ‚flat‘, ‚orderby‘ => ‚name‘, ‚order‘ => ‚ASC‘,
‚exclude‘ => “, ‚include‘ => “
);
$args = wp_parse_args( $args, $defaults );

$tags = get_tags( array_merge($args, array(‚orderby‘ => ‚count‘, ‚order‘ => ‚DESC‘)) ); // Always query top tags

if ( empty($tags) )
return;

$return = dropdown_generate_tag_cloud( $tags, $args ); // Here’s where those top tags get sorted according to $args
if ( is_wp_error( $return ) )
return false;
else
echo apply_filters( ‚dropdown_tag_cloud‘, $return, $args );
}

function dropdown_generate_tag_cloud( $tags, $args = “ ) {
global $wp_rewrite;
$defaults = array(
‚smallest‘ => 8, ‚largest‘ => 22, ‚unit‘ => ‚pt‘, ‚number‘ => 45,
‚format‘ => ‚flat‘, ‚orderby‘ => ‚name‘, ‚order‘ => ‚ASC‘
);
$args = wp_parse_args( $args, $defaults );
extract($args);

if ( !$tags )
return;
$counts = $tag_links = array();
foreach ( (array) $tags as $tag ) {
$counts[$tag->name] = $tag->count;
$tag_links[$tag->name] = get_tag_link( $tag->term_id );
if ( is_wp_error( $tag_links[$tag->name] ) )
return $tag_links[$tag->name];
$tag_ids[$tag->name] = $tag->term_id;
}

$min_count = min($counts);
$spread = max($counts) – $min_count;
if ( $spread <= 0 ) $spread = 1; $font_spread = $largest - $smallest; if ( $font_spread <= 0 ) $font_spread = 1; $font_step = $font_spread / $spread; // SQL cannot save you; this is a second (potentially different) sort on a subset of data. if ( 'name' == $orderby ) uksort($counts, 'strnatcasecmp'); else asort($counts); if ( 'DESC' == $order ) $counts = array_reverse( $counts, true ); $a = array(); $rel = ( is_object($wp_rewrite) && $wp_rewrite->using_permalinks() ) ? ‚ rel=“tag“‚ : “;

foreach ( $counts as $tag => $count ) {
$tag_id = $tag_ids[$tag];
$tag_link = clean_url($tag_links[$tag]);
$tag = str_replace(‚ ‚, ‚ ‚, wp_specialchars( $tag ));
$a[] = „\t„;
}

switch ( $format ) :
case ‚array‘ :
$return =& $a;
break;
case ‚list‘ :
$return = „

    \n\t

  • „;
    $return .= join(„
  • \n\t

  • „, $a);
    $return .= „
  • \n

\n“;
break;
default :
$return = join(„\n“, $a);
break;
endswitch;

return apply_filters( ‚dropdown_generate_tag_cloud‘, $return, $tags, $args );
}
?>
\—

Do sidebaru pak vložíme kód roletky

/—code php

\—

**Zdroj:**
„http://hackwordpress.com/how-to-display-wordpress-tags-dropdown-menu/“:http://hackwordpress.com/how-to-display-wordpress-tags-dropdown-menu/

Implementováno na tomto webu.