• توجه: در صورتی که از کاربران قدیمی ایران انجمن هستید و امکان ورود به سایت را ندارید، میتوانید با آیدی altin_admin@ در تلگرام تماس حاصل نمایید.

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

amininho

متخصص بخش کامپیوتر

برچسب‌ها بعضی وقت‌ها اگر از حد معمول بگذرد ظاهر سایت رو خراب میکنند و باید به فکر راه چاره ای بود.
به وسیله کدی که در این مطلب از تارمستر قرار میگیرد شما میتوانید برجسب‌های مطالب خود را به صورت دراپ داون یا بازشو ایجاد کنید.


آموزش ایجاد برچسب بازشو

کافیست کد زیر رو به فایل functions.phpقالب خود اضافه کنید:
PHP:
<?phpfunction 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(' ', ' ', 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 );}[COLOR=#000000][FONT=Tahoma]?>

سپس در جایی که میخواهید نمایش داده شود کد زیر رو قرار بدید:
PHP:
<select name="tag-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
    <option value="#">برچسب ها</option>    <?php dropdown_tag_cloud('number=0&order=asc'); ?></select>


موفق باشید
 
بالا