Using WordPress Google Form Shortcode inside a Tab Shortcode
-
Hello,
I’m trying to use:
[wpgform id=’119′]Inside a [tab] shortcode like this:
[tab title=”Eye Exam Voucher Request”]
test [wpgform id=’119′]
[/tab]The form will work when in the body of the post. However, if I try to put it in the Tab Shortcode it will not work.
Let me know what I’m missing.
(I’m using the Photographer Theme by Organic Themes)
-
Hmmm … I’m not sure how to answer this.
What defines the [tab] short code? Is it defined by a plugin on your theme? If it is a plusing, let me know and I can try it out. If it is in your theme, there isn’t much I can do as your theme is a commercial theme so I don’t have access to it.
If you Google nested shortcodes you’ll find lots of information about similar problems. From everything I scanned through, the responsibility for nesting correctly falls within the outer shortcode in your case, the [tab] shortcode.
There is some information here on the Codex.
I don’t think the issue you are having is one that WordPress Google Form can fix. However, if it it turns out there is something I am doing wrong, I’d be happy to look at it. Right now I am not even sure what I’d look for.
Looks like it’s part of the “shortcodes.php” file in my Theme.
The file is here:
http://cl.ly/code/1S0r082a0Y06Thank you for taking a look at this!
I think the problem is in the shortcode definition for tab.
function organic_tab( $atts, $content ){ extract(shortcode_atts(array( 'title' => 'Tab %d' ), $atts)); $x = $GLOBALS['tab_count']; $GLOBALS['tabs'][$x] = array( 'title' => sprintf( $title, $GLOBALS['tab_count'] ), 'content' => $content ); $GLOBALS['tab_count']++; } add_shortcode( 'tab', 'organic_tab' );Nowhere inside this function (which defines the tab shortcode) does it make another call to do_shortcode() which it should in order to process shortcodes embedded within shortcodes.
I think if you changed the function to the following it would work but without having the entire theme to test with I am not sure.
function organic_tab( $atts, $content ){ extract(shortcode_atts(array( 'title' => 'Tab %d' ), $atts)); do_shortcode( $content ); $x = $GLOBALS['tab_count']; $GLOBALS['tabs'][$x] = array( 'title' => sprintf( $title, $GLOBALS['tab_count'] ), 'content' => $content ); $GLOBALS['tab_count']++; } add_shortcode( 'tab', 'organic_tab' );Thank you for working hard to find a solution.
I’ve tried that code. However it didn’t work.
I added “echo do_shortcode ( $content );”
where you added “do_shortcode ( $content );”It did run the embedded shortcode however it didn’t place the resulting form inside the “tab” it placed it above the tab…
I’m wondering if the placement of the phrase:
“echo do_shortcode ( $content );”
in the correct place would help the results.Thoughts?
Duh – I see what I did wrong.
Try this:
function organic_tab( $atts, $content ){ extract(shortcode_atts(array( 'title' => 'Tab %d' ), $atts)); $content = do_shortcode( $content ); $x = $GLOBALS['tab_count']; $GLOBALS['tabs'][$x] = array( 'title' => sprintf( $title, $GLOBALS['tab_count'] ), 'content' => $content ); $GLOBALS['tab_count']++; } add_shortcode( 'tab', 'organic_tab' );Because you used echo it placed the content into your page at the time it was called, not when the tab was constructed. Assigning the output of do_shortcode() to $content should result in it being the the correct place.
Your support is amazing.
I greatly appreciate your help.
It did call for the [wpgform] shortcode and executed it.
However, the resulting tab did not give enough vertical space to display the form.
I can only see the first 2 lines of the form.So I’m not sure what else describes the size of the tab <div>?
Again,
thank you for all your help!Do you have it live where I can see it? The tab content is almost certainly contained in a DIV and hopefully the DIV has an ID and if it does, you can set the height using CSS!
Try adding something like this to your CSS file:
#tabs-1 { height: 500px; }BTW – Firebug doesn’t like your site very much, it issues a lot of Javascript warnings when I look at it. May be something you want to look into.
Thank you again! Appreciate all your help.
Doesn’t seem to have worked on the URL you posted above – did you do it on your live site or in your development area?
No it hasn’t worked. I just can’t spend more time on it now, so I’ve just done this here:
http://lovinglearners.com/development/?p=95Put a link to the form pages in the tabs… works for now.
bro,
try this plugin:
squelch tabs and accordions
http://ww.wp.xz.cn/plugins/squelch-tabs-and-accordions-shortcodes/your shortcode will work inside the tabs shortcode of squelch.
The topic ‘Using WordPress Google Form Shortcode inside a Tab Shortcode’ is closed to new replies.