Cambiare la dimensione del font all'interno di uno shortcode
Ho uno shortcode semplice come questo...
function myshortcode( $attributes, $content = null ) {
extract( shortcode_atts( array(
'class' => ''
), $attributes ) );
return 'Questo è il contenuto : ' . $content . ';
}
add_shortcode('my_shortcode', 'myshortcode');
Funziona perfettamente e se uso il seguente codice in un articolo...
[my_shortcode]Questo è il contenuto che voglio visualizzare[/my_shortcode]
Ma ora quello che voglio fare è variare la dimensione del font del contenuto, ad esempio...
[my_shortcode]Questo è il [25px]contenuto[/25px] che voglio visualizzare[/my_shortcode]
Voglio che questo cambi la parola 'contenuto' con un font di 25px.
Qualcuno conosce un modo, magari usando str_replace?

Stai cercando di inserire uno shortcode all'interno di un altro shortcode? Forse questa è una soluzione più semplice per controllare l'output front-end?
CSS
span.my_pixel_size{font-size:25px;}
PHP
'<p>Questo è il contenuto: <span class="my_pixel_size">' . $content . '</span></p>';

Dalla mia comprensione degli shortcode, sarebbe necessario creare uno shortcode per ogni dimensione del font. Sarebbe molto più semplice definire un singolo shortcode e poi utilizzare gli attributi per specificare la dimensione del font.
function font_callback( $attributes, $content = null ) {
extract( shortcode_atts( array(
'size' => '12px'
), $attributes ) );
return '<span style="font-size:' . $size . '">' . $content . '</span>';
}
add_shortcode( 'font', 'font_callback' );
Quindi potresti usarlo in questo modo:
Questo è il [font size="18px"]contenuto[/font] che voglio visualizzare
Naturalmente, questo potrebbe essere ampliato per includere font-family
, classes
e un id
.
