I have a simple shortcode like this....

function myshortcode( $attributes, $content = null ) {
    extract( shortcode_atts( array(
        'class' => ''
    ), $attributes ) );
           return 'This is the content : ' . $content . ';
add_shortcode('my_shortcode', 'myshortcode');

This works great and if I use the following in a post...

[my_shortcode]This is the content that I want to display[/my_shortcode]

But what I want to do now is vary the font size of the content for example...

[my_shortcode]This is the [25px]content[/25px] that I want to display[/my_shortcode]

I want this to change the word 'content' to 25px font size.

Anyone know a way, maybe str_replace?


Are you trying to put a shortcode within a shortcode? Perhaps this is an easier solution to control your front-end output?




'<p>This is the content: <span class="my_pixel_size">' . $content . '</span></p>';

From my understanding of shortcodes, you would need to create a shortcode for each pixel. It would be much easier to define a single shortcode, then use attributes to define a font-size.

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' );

Then you can say something like:

This is the [font size="18px"]content[/font] that I want to display

This of course could be expanded upon to include font-family, classes, and an id.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.