tag-1

در این مطلب قصد داریم طریقه نشان دادن برچسب‌ها درون یک منو پایین آمدنی را نشان دهیم.

برای نشان دادن برچسب‌های وردپرس در یک منو پایین آمدنی باید به فایل functions.php قالب خود این کد‌ها را اضافه کنیم. اگر قالب شما functions.php نداشت این فایل را بسازید و درون پوشه ی قالب‌های خود بارگزاری کنید.

[php]

<?php
function dropdown_tag_cloud( $args = ” ) {
$defaults = array(
‘smallest’ => 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) &amp;&amp; $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<option value=’$tag_link’>$tag ($count)</option>";
}

switch ( $format ) :
case ‘array’ :
$return =&amp; $a;
break;
case ‘list’ :
$return = "<ul class=’wp-tag-cloud’>\n\t<li>";
$return .= join("</li>\n\t<li>", $a);
$return .= "</li>\n</ul>\n";
break;
default :
$return = join("\n", $a);
break;
endswitch;

return apply_filters( ‘dropdown_generate_tag_cloud’, $return, $tags, $args );
}
?>

[/php]

حالا برای فراخوانی برچسب‌ها درون منو پایین آمدنی این کد را در قسمت ابزارک‌های خوددر محل مناسب قرار دهید.

[php]

<select name="tag-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
<option value="#">برچسب‌ها</option>
<?php dropdown_tag_cloud(‘number=0&amp;amp;order=asc’); ?>
</select>

[/php]

 

منبع : همیاروردپرس

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *