نمایش برچسب ها در منوی بازشونده

 

 

با سلام
من به یک کد جالبی برخوردم گفتم اینجا هم بذارم استفاده کنید 🙂
به وسیله این کد میتوانید به جای نمایش برچسب ها به صورت عادی، به صورت منوی باز شونده (Drop Down) نمایش دهید.
برای این کار کد زیر رو در فایل functions.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) && $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(' ', '&nbsp;', wp_specialchars( $tag ));
$a[] = "\t<option value='$tag_link'>$tag ($count)</option>";
}

switch ( $format ) :
case 'array' :
$return =& $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 );
}
?>
سپس در جایی که می خواهید نمایش دهید کد زیر را وارد کنید :
<select name="tag-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
<option value="#">Tags</option>
<?php dropdown_tag_cloud('number=0&order=asc'); ?>
</select>

موفق باشید 🙂
آیا این مقاله برای شما مفید بود؟
تقریبا
خیر

دیدگاهتان را بنویسید

ارسال دیدگاه به معنی این است که شما ابتدا قوانین ارسال دیدگاه را مطالعه کرده‌اید و با آن موافق هستید.

دیدگاه‌های این نوشته جدید ترین ها شاخص

  1. سلام
    من اسکریپت فال حافظ رو سایت گذاشتم ولی آدرس
    http://w8sms.ir/wp-content/uploads/Fall%20hafez%20w8sms/index.htm
    به این شکل میشه ولی می خوام
    http://fallhafez.w8sms.ir
    بشه چیکار باید کنم اینم بگم که تازه وردپرس شروع کردم هنوز نوبم 😀
    با تشکر

  2. سلام خسته نباشید
    یک سوال خارج از این موضوع دارم ممنون میشم جواب بدید

    من تو بخش ارسال مطلب Tags رو اضافه می کنم اما وقتی اون صفحه رو تو سایت باز می کنم view page source رو میبینم و سرچ می کنم اون تگها تو صفحه نیستند!

    یعنی مشکلی وجود داره یا ممکنه مخفی یا … باشند

    ممنون

  3. sina karimi : کد دوم در جایی که میخواهد نمایش داده شود. برای مثال اگه میخواید بعد از مطلب باشه بعد از کد قرار دهید.

  4. سلام

    من کدو دوم رو قرار میدم از سمت چپ کامل پر میشه میخوام یه سایز خاص داشته باشه کدش چیه؟

  5. سلام میشه دقیقا بگین اون کد پایینی روکجا بزارم ممنون

  6. ممنون امين جان
    خوب بود

  7. داداش مرسی خودم پیدا کردم

  8. سلام
    عالی بود خیلی دنبال یک چنین چیزی میگشتم که به صورت اتوماتیک برچسب ها را با چنین فضای کمی نشون بده فقط یک سوال آیا تو سئو سایت تاثیر مثبت داره ؟

  9. هیچ بدرد نخورد 😀 کسی از همیار های وردپرس میتونه سایت منو از نظر سرعت seo بکنه منو ادد کنه ofnamezero@yahoo.com

  10. سلام داداش . مرسی از کدت . فقط یه سوال . چطور می تونم یه style رو هنگام لود سایت اتوماتیک به اجرا بزارم . مثلا یه عکس چرخ دنده بزارم که اتوماتیک بدون توقف بچرخه . مرسی
    😀

    • سلام.
      خیلی راحت می تونی از تصاویر لودینگ gif استفاده کنی.
      همون طوری که تصویر رو با تگ img قرار می دی به جای src آدرس یه تصویر متحرک gif که برای لودینگه رو بذار. می تونی برای ساخت تصویر لودینگ از این سایت هم استفاده کنی:
      http://ajaxload.info/