برچسب های وردپرس،بخشی جداناشدنی در وردپرسه که بارها و بارها تاثیرات اون رو در سئو سایت یادآور شدیم.ضمنا برای ایجاد برجسب های مناسب در وردپرس هم نکاتی قبلا ذکر کردیم که امیدوارم با خوندن اون ها تونسته باشید به نحو احسنت تگ هارو ایجاد کنید.در این پست یک هک زیبا و شاید کمتر دیده شده براتون قرار میدم که فکر می کنم در کمتر سایتی بهش برخورد کردید و شاید شیوه نمایش خوبی برای برچسب ها باشه و بتونه نظم بیشتری به اونا بده.با ماهمراه باشید.
نمایش برچسب ها در منوهای کشویی
خب این برچسب ها معمولا به صورت یک نوار در زیر پست ها نمایش داده میشن.حالا اگه این برچسب هارو در یک فهرست کشویی قرار بدید و هرکس بتونه به دلخواه خودش از اونا استفاده کنه و یا این که اصلا اونارو مشاهده نکنه می تونید در یک منو تحت عنوان برچسب ها این برچسب ها رو نمایش بدید که با کلیک روی اون نمایشی به صورت کشویی داشته باشید.
خب برای شروع کار کد زیر رو در فایل کابردی function.php قرار بدید.
</pre> <?phpfunction dropdown_tag_cloud( $args = '' ) {$defaults = array('smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC',=> '', 'include' => '');$args = wp_parse_args( $args, $defaults );$tags = get_tags( array_merge($args, array('orderby' => 'count', 'order' => 'DESC')) ); // Always query top tagsif ( empty($tags) )return;$return = dropdown_generate_tag_cloud( $tags, $args ); // Here's where those top tags get sorted according to $argsif ( is_wp_error( $return ) )return false;elseecho 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_inks[$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 asecond (potentially different) sort on a subset of data.if ( 'name' == $orderby )uksort($counts, 'strnatcasecmp');elsasort($counts);if ( 'DESC' == $order )$counts = array_reverse( $counts, true );$a = array();$rel = ( i_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 );}?> <pre>
اما می تونید تعیین کنید که منو در چه قسمت هایی نمایش داده شه که می تونید از کد زیر استفاده کنید
</pre> <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> <pre>
شاد باشید