Modificarea dimensiunii fontului într-un shortcode
Am un shortcode simplu ca acesta...
function myshortcode( $attributes, $content = null ) {
extract( shortcode_atts( array(
'class' => ''
), $attributes ) );
return 'Acesta este conținutul: ' . $content . ';
}
add_shortcode('my_shortcode', 'myshortcode');
Acesta funcționează perfect și dacă folosesc următorul cod într-un articol...
[my_shortcode]Acesta este conținutul pe care vreau să îl afișez[/my_shortcode]
Dar acum vreau să modific dimensiunea fontului pentru conținut, de exemplu...
[my_shortcode]Acesta este [25px]conținutul[/25px] pe care vreau să îl afișez[/my_shortcode]
Vreau ca acest cod să schimbe dimensiunea fontului cuvântului 'conținutul' la 25px.
Știe cineva o metodă, poate folosind str_replace?

Încerci să folosești un shortcode în interiorul altui shortcode? Poate aceasta este o soluție mai ușoară pentru a controla afișarea în front-end?
CSS
span.marimea_pixelului{font-size:25px;}
PHP
'<p>Acesta este conținutul: <span class="marimea_pixelului">' . $content . '</span></p>';

Din ceea ce am înțeles despre shortcode-uri, ar trebui să creezi un shortcode pentru fiecare pixel. Ar fi mult mai ușor să definești un singur shortcode, apoi să folosești atribute pentru a defini dimensiunea fontului.
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' );
Apoi poți folosi ceva de genul:
Acesta este [font size="18px"]conținutul[/font] pe care vreau să-l afișez
Desigur, acest lucru poate fi extins pentru a include font-family
, classes
și un id
.
