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

tags_dropdown

با سلام
من به یک کد جالبی برخوردم گفتم اینجا هم بذارم استفاده کنید 🙂
به وسیله این کد میتوانید به جای نمایش برچسب ها به صورت عادی، به صورت منوی باز شونده (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>

موفق باشید 🙂
مشاوره آموزشی رایگان
شما این فرصت را دارید، با تکمیل فرم زیر، قبل از انتخاب دوره آموزشی مناسب خود، از مشاوره رایگان کارشناسان آموزشی مجموعه همیار آکادمی استفاده نمائید.
 
مشاوران آموزشی
همیار آکادمی
پاسخگوی شما هستند
آیا این مقاله برای شما مفید بود؟
تقریبا
خیر

اگر می‌خواهید از آخرین و محبوب‌ترین مقالات ما در ایمیل خود مطلع شوید، همین الان ایمیل خود را در کادر زیر وارد کنید:

تعداد علاقه‌مندانی که تاکنون عضو خبرنامه ما شده‌اند:

352,113 نفر

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

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

  1. با یک کد jQuery خیلی راحت تر میشه این کار رو انجام داد …
    اگر دوستان خواستند بگید بذارم کدشو …

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

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

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

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

    ممنون

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

  5. سلام

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

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

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

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

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

  10. هیچ بدرد نخورد 😀 کسی از همیار های وردپرس میتونه سایت منو از نظر سرعت seo بکنه منو ادد کنه [email protected]

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

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

دوره‌های آموزشی