wp_tag_cloud CSS en línea

2

Estoy usando wp_tag_cloud pero mi problema es el CSS en línea (para el tamaño de fuente). Estoy haciendo RWD, así que necesito el control total de mi marca / css.

Como vi, no hay ninguna propiedad que haga que desaparezca, así que supongo que necesito usar otra función, o el formato = matriz. Intenté usar el formato de matriz pero no pude hacer que las etiquetas aparecieran. (no es un chico php).

También tenga en cuenta que las etiquetas deben estar encerradas en elementos, por lo que no hay texto sin formato ...

¿Cuáles son mis soluciones? ¿Puedo usar wp_list_categories de alguna manera?

Gracias

    
pregunta George Katsanos 25.04.2012 - 23:36

2 respuestas

3

Agregue un filtro para la nube de etiquetas en su functions.php :

add_filter( 'wp_tag_cloud', 'wpse_50242_unstyled_tag_cloud' );

/**
 * Change tag cloud inline style to CSS classes.
 *
 * @param  string $tags
 * @return string
 */
function wpse_50242_unstyled_tag_cloud( $tags )
{
    return preg_replace(
        "~ style='font-size: (\d+)pt;'~",
        ' class="tag-cloud-size-"',
        $tags
    );
}

En tu plantilla, llamas a la nube de etiquetas así:

wp_tag_cloud(
    array (
        'format' => 'list'
    )
);

Ahora todos los estilos en línea se convierten a clases CSS.

Before:

<li><a href='http://wp.dev/tag/doolie' class='tag-link-22' title='1 topic' style='font-size: 8pt;'>doolie</a></li>

After:

<li><a href='http://wp.dev/tag/doolie' class='tag-link-22' title='1 topic' class="tag-cloud-size-8">doolie</a></li>

En tu hoja de estilo, formateas las etiquetas con:

.tag-cloud-size-8
{
    font-size: .8em;
}
.tag-cloud-size-10
{
    font-size: 1em;
}
.tag-cloud-size-12
{
    font-size: 1.2em;
}
    
respondido por el fuxia 26.04.2012 - 04:36
2

Gracias a todos por las respuestas, encontré la solución. Usé wp_list_categories y declaré como taxonomía las etiquetas. Quería una lista ul simple sin css en línea involucrado ...

    
respondido por el George Katsanos 02.05.2012 - 12:15

Lea otras preguntas en las etiquetas