Modificarea dimensiunii fontului într-un shortcode

14 mar. 2014, 19:48:08
Vizualizări: 15.3K
Voturi: 2

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?

0
Toate răspunsurile la întrebare 2
0

Î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>';
14 mar. 2014 20:42:55
0

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.

14 ian. 2015 22:20:03