<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Macgrafic - Tutoriales de diseño gráfico, InDesign, Photoshop, Freehand, Illustrator y fotografía &#187; color</title>
	<atom:link href="http://www.macgrafic.com/tag/color/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.macgrafic.com</link>
	<description>MacGrafic - Tutoriales InDesign, Photoshop, Freehand, illustrator y fotografía</description>
	<lastBuildDate>Mon, 09 Aug 2010 16:29:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Función Wordress. Cambiar el color del tag dependiendo de la cantidad. Actualizado</title>
		<link>http://www.macgrafic.com/funcion-wordress-cambiar-el-color-del-tag-dependiendo-de-la-cantidad/</link>
		<comments>http://www.macgrafic.com/funcion-wordress-cambiar-el-color-del-tag-dependiendo-de-la-cantidad/#comments</comments>
		<pubDate>Tue, 26 May 2009 14:59:36 +0000</pubDate>
		<dc:creator>Macgrafic</dc:creator>
				<category><![CDATA[Funciones]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[funciones de wordpress]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[function.php]]></category>
		<category><![CDATA[tag]]></category>

		<guid isPermaLink="false">http://www.macgrafic.com/?p=960</guid>
		<description><![CDATA[Llevo unas cuantas horas creando esta función. Pero al final he conseguido crearla gracias a un ejemplo de ayudawordpress, en el cual se mostraban los tags en una lista de selección.
Para implementarla tenéis que editar vuestro archivo functions.php de vuestro theme y añadir este código.]]></description>
			<content:encoded><![CDATA[<p>Llevo unas cuantas horas creando esta función. Pero al final he conseguido crearla gracias a un ejemplo de ayudawordpress, en el cual se mostraban los tags en una lista de selección.<br />
Para implementarla tenéis que editar vuestro archivo functions.php de vuestro theme y añadir este código.<br />
<span id="more-960"></span></p>
<pre class="brush: php;">
function imprimir_colorear_tags( $args = '' ) {
	$defaults = array(
		'smallest' =&gt; 12, 'largest' =&gt; 30, 'unit' =&gt; 'px', 'number' =&gt; 45,
		'format' =&gt; 'flat', 'orderby' =&gt; 'name', 'order' =&gt; 'ASC',
		'exclude' =&gt; '', 'include' =&gt; ''
	);
	$args = wp_parse_args( $args, $defaults );

	$tags = get_tags( array_merge($args, array('orderby' =&gt; 'count', 'order' =&gt; 'DESC')) ); // Siempre hace la query a las tags superiores

	if ( empty($tags) )
		return;

	$return = generador_imprimir_colorear_tags( $tags, $args ); // Aqui es donde se ordenan las tags de acuerdo a los $args
	if ( is_wp_error( $return ) )
		return false;
	else
		echo apply_filters( 'imprimir_colorear_tags', $return, $args );
}

function generador_imprimir_colorear_tags( $tags, $args = '' ) {
	global $wp_rewrite;
	$defaults = array(
		'smallest' =&gt; 12, 'largest' =&gt; 30, 'unit' =&gt; 'px', 'number' =&gt; 45,
		'format' =&gt; 'flat', 'orderby' =&gt; 'name', 'order' =&gt; 'ASC'
	);
	$args = wp_parse_args( $args, $defaults );
	extract($args);

	if ( !$tags )
		return;
	$counts = $tag_links = array();
	foreach ( (array) $tags as $tag ) {
		$counts[$tag-&gt;name] = $tag-&gt;count;
		$tag_links[$tag-&gt;name] = get_tag_link( $tag-&gt;term_id );
		if ( is_wp_error( $tag_links[$tag-&gt;name] ) )
			return $tag_links[$tag-&gt;name];
		$tag_ids[$tag-&gt;name] = $tag-&gt;term_id;
	}

	$min_count = min($counts);
	$spread = max($counts) - $min_count;
	if ( $spread &lt;= 0 )
		$spread = 1;
	$font_spread = $largest - $smallest;
	if ( $font_spread &lt; 0 )
		$font_spread = 1;
	$font_step = $font_spread / $spread;

	// SQL no puede salvarte; este es un segundo (y potencialmente diferente) orden en una secuencia de datos.
	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-&gt;using_permalinks() ) ? ' rel=&quot;tag&quot;' : '';

	foreach ( $counts as $tag =&gt; $count ) {
		$tag_id = $tag_ids[$tag];
		$tag_link = clean_url($tag_links[$tag]);
		$tag = str_replace(' ', '&amp;nbsp;', wp_specialchars( $tag ));

		$medida_letra_tag = ( $smallest + ( ( $count - $min_count ) * $font_step ) );

		if ( $medida_letra_tag ==30) {
			$contador_tags = 1;
		} else if ( $medida_letra_tag &lt;= 29 AND $medida_letra_tag &gt;= 24 ) {
			$contador_tags = 2;
		} else if ( $medida_letra_tag &lt;= 23 AND $medida_letra_tag &gt;= 18 ) {
			$contador_tags = 3;
		} else if ( $medida_letra_tag &lt;= 17 AND $medida_letra_tag &gt;= 15 ) {
			$contador_tags = 4;
		} else {
			$contador_tags = 5;
		}

		$a[] = &quot;&lt;a href='$tag_link' class='tag-level-$contador_tags' style='font-size: &quot; .
			( $smallest + ( ( $count - $min_count ) * $font_step ) )
			. &quot;$unit;'&gt;$tag&lt;/a&gt; &amp;#8226;&quot;;
	}

	switch ( $format ) :
	case 'array' :
		$return =&amp; $a;
		break;
	case 'list' :
		$return = &quot;&lt;ul class='wp-tag-cloud'&gt;\n\t&lt;li&gt;&quot;;
		$return .= join(&quot;&lt;/li&gt;\n\t&lt;li&gt;&quot;, $a);
		$return .= &quot;&lt;/li&gt;\n&lt;/ul&gt;\n&quot;;
		break;
	default :
		$return = join(&quot;\n&quot;, $a);
		break;
	endswitch;

	return apply_filters( 'generador_imprimir_colorear_tags', $return, $tags, $args );
}
</pre>
<p>Una vez hayas guardado el archivo tenéis que añadir este código donde os mostrará el resultado. En mi caso lo tengo en el pie de página, en el archivo footer.php de mi theme.</p>
<pre class="brush: php;">
&lt;?php imprimir_colorear_tags('number=30&amp;order=DESC&amp;orderby=count'); ?&gt;
</pre>
<p>ACTUALIZADO<br />
He actualizado el codigo porque habia algunas cosas incoherentes. La actualización de la condición, que condiciona mediante los tamaños de letra.</p>
<pre class="brush: php;">
$medida_letra_tag = ( $smallest + ( ( $count - $min_count ) * $font_step ) );

		if ( $medida_letra_tag ==30) {
			$contador_tags = 1;
		} else if ( $medida_letra_tag &lt;= 29 AND $medida_letra_tag &gt;= 24 ) {
			$contador_tags = 2;
		} else if ( $medida_letra_tag &lt;= 23 AND $medida_letra_tag &gt;= 18 ) {
			$contador_tags = 3;
		} else if ( $medida_letra_tag &lt;= 17 AND $medida_letra_tag &gt;= 15 ) {
			$contador_tags = 4;
		} else {
			$contador_tags = 5;
		}

		$a[] = &quot;&lt;a href='$tag_link' class='tag-level-$contador_tags' style='font-size: &quot; .
			( $smallest + ( ( $count - $min_count ) * $font_step ) )
			. &quot;$unit;'&gt;$tag&lt;/a&gt; &amp;#8226;&quot;;
</pre>
<p>Y claro está, los estilos.<br />
Recodaros que teneis que crear los estilos que en este caso son cinco.</p>
<pre class="brush: css;">
#footer_tags a.tag-level-1 {
	color: #fff;
}

#footer_tags a.tag-level-2 {
	color: #a8a8a8;
}

#footer_tags a.tag-level-3 {
	color: #777;
}
#footer_tags a.tag-level-4 {
	color: #4c4c4c;
}
#footer_tags a.tag-level-5 {
	color: #333;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.macgrafic.com/funcion-wordress-cambiar-el-color-del-tag-dependiendo-de-la-cantidad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/usr/home/macgrafic.com/web/wp-content/plugins/wp-smart-image-ii/wpsi.php</b> on line <b>748</b><br />
	</item>
	</channel>
</rss>
