¿Código abreviado pero sin el signo igual?

2

Soy consciente de que estoy creando un shortcode de esta manera:

function font_fam($atts, $content = null){ 
extract(shortcode_atts(array(
  'f' => '',  
  ), $atts ));

return '<span style="font-family:'.$f.'">'.$content.'</span>';

}
add_shortcode ('f','font_fam');

Y usarlo sería así:

[f f="Arial"] Text Text [/f]

Pero hay una forma para que se use de esta manera:

[f Arial] Text Text[/f]
[f Tahoma] Text Text [/f]

(omitiendo la "f=")

¡Gracias!

    
pregunta John 19.02.2011 - 09:48

2 respuestas

5

Prueba esto:

function font_fam($atts, $content = null) {

    extract(shortcode_atts(array(
            'f' => isset($atts[0]) ? $atts[0] : '' ,
            ), $atts));

    return '<span style="font-family:' . $f . '">' . $content . '</span>';
}

add_shortcode ('f','font_fam');
    
respondido por el Rarst 19.02.2011 - 14:04
1

Una forma podría ser preparar el contenido previamente al enganchar un filtro 'the_content' que agrega el bit f= .

Otro podría ser cambiar tus códigos cortos a algo como [Tahoma]...[/Tahoma] y omitir la f por completo, aunque luego terminas registrando muchos códigos cortos.

    
respondido por el wyrfel 19.02.2011 - 09:58

Lea otras preguntas en las etiquetas