Conflict with WooCommerce
-
Hi there,
Got the code doing exactly what I wanted it to do, but then I realised a problem. I tested in Twenty Twelve to be sure my theme wasn’t messing with me, but when I have the plugin activated, the description for the first product displayed in WooCommerce appears on every WooCommerce page.I don’t know what is causing it, but I wanted to bring it to people’s attention in case they tried it on a site running WooCommerce. If there’s a fix out there, awesome!
Otherwise I have to hunt for a different PHP solution ??
-
shainanz, A user sent me a fix for the WooCommerce issue.
I’ll be addressing that in the next few days. When the upgrade is ready (or if I’m unable to incorporate the fix), I’ll let you know here.
Will
shainanz, A user sent me a fix for the WooCommerce issue.
I’ll be addressing that in the next few days. When the upgrade is ready (or if I’m unable to incorporate the fix), I’ll let you know here.
Will
Thanks ?? In the meantime I’ve had to switch to a different plugin, but I really liked the simplicity of yours so I may switch back if there’s a fix.
Hi, I tried also with wooCommerce this is my code:
[insert_php] if ( is_user_logged_in() ) { [woocommerce_my_account] } else { /* do something else */ } [/insert_php]
but I get nothing at all. I even tried calling die(“”); but I stayed alive…
sammazza, try the new version 1.2.
The updated version is to remove conflict when another plugin manipulates the same page or post content as Insert PHP does.
Please let me know if it solves the issue for you.
Will
I quickly tried the test – and only that for now – I posted above.
Fantastic! it works.
Thanks.Oops… sorry.. I messed up my test..
The fix is not working.I get nothing displayed. no action in the IF or ELSE clauses are executed.
Thanks for getting back to me, sammazza
Let me know if you find any other issues with the plugin.
Will
sammazza, it might be the [woocommerce_my_account] tag. The else won’t display anything because it only has a comment.
Try the PHP on a stand-alone page, using <?php and ?> instead of [insert_php] and [/insert_php]
If it doesn’t work on a stand-along page, it won’t work in the plugin, either. But if it does, then it should work in the plugin.
Will
The ELSE comment in my snippet was a place holder for some real code I have I did not care to display in the code sample. There is code there…. (sorry for the confusion this created.)
In general, the plugin works even on wooCommerce pages with the caveat below…
What breaks it is when there is a short code inside the code part.
(I now think this is invalid syntax because inside the PHP section I should call a function to execute the shortcode.) I tried with a wooCom shortcode [mwoocommerce_my_account] and a VFB [vfb id=’1′] short codes. I also tried calling do_shortcode();[insert_php] if (is_user_logged_in()) { [woocommerce_my_account] } else { echo do_shortcode('[vfb id='5']'); } [/insert_php]
Something is not getting parse properly (or maybe this is how it is supposed to be.. see following comment) because when I look at the generated source, nothing shows up.
However, I have replaced : (single-quotes to double-quote) in the call to do_shortcode()
echo do_shortcode('[vfb id='5']');
with
echo do_shortcode("[vfb id='5']");
And that seems to work fine now.
Thanks for all the help!!
<?php ?> did not work at all.
Will hi again.. the plugin still work but I happen to run with debug ON and saw a few errors…
Parse error: syntax error, unexpected ‘}’ in /home4/thefarmn/public_html/gwccorg/wp-content/plugins/insert-php/insert_php.php(48) : eval()’d code on line 4
[31-Dec-2013 21:47:22 UTC] PHP Parse error: syntax error, unexpected ‘}’ in /home4/thefarmn/public_html/gwccorg/wp-content/plugins/insert-php/insert_php.php(48) : eval()’d code on line 4
[31-Dec-2013 21:47:33 UTC] PHP Parse error: syntax error, unexpected ‘}’ in /home4/thefarmn/public_html/gwccorg/wp-content/plugins/insert-php/insert_php.php(48) : eval()’d code on line 4
[31-Dec-2013 21:47:38 UTC] PHP Parse error: syntax error, unexpected ‘}’ in /home4/thefarmn/public_html/gwccorg/wp-content/plugins/insert-php/insert_php.php(48) : eval()’d code on line 4
[31-Dec-2013 21:49:42 UTC] PHP Parse error: syntax error, unexpected ‘}’ in /home4/thefarmn/public_html/gwccorg/wp-content/plugins/insert-php/insert_php.php(48) : eval()’d code on line 4
[31-Dec-2013 21:51:09 UTC] PHP Parse error: syntax error, unexpected ‘}’ in /home4/thefarmn/public_html/gwccorg/wp-content/plugins/insert-php/insert_php.php(48) : eval()’d code on line 4
[01-Jan-2014 00:14:11 UTC] PHP Parse error: syntax error, unexpected ‘id’ (T_STRING), expecting ‘]’ in /home4/thefarmn/public_html/gwccorg/wp-content/plugins/insert-php/insert_php.php(48) : eval()’d code on line 4
[01-Jan-2014 00:14:53 UTC] PHP Parse error: syntax error, unexpected ‘id’ (T_STRING), expecting ‘]’ in /home4/thefarmn/public_html/gwccorg/wp-content/plugins/insert-php/insert_php.php(48) : eval()’d code on line 4
[01-Jan-2014 00:16:37 UTC] PHP Warning: Missing argument 1 for do_shortcode(), called in /home4/thefarmn/public_html/gwccorg/wp-content/plugins/insert-php/insert_php.php(48) : eval()’d code on line 4 and defined in /home4/thefarmn/public_html/gwccorg/wp-includes/shortcodes.php on line 181
[01-Jan-2014 00:16:37 UTC] PHP Parse error: syntax error, unexpected ‘id’ (T_STRING), expecting ‘]’ in /home4/thefarmn/public_html/gwccorg/wp-content/plugins/insert-php/insert_php.php(48) : eval()’d code on line 4
[01-Jan-2014 00:23:49 UTC] PHP Parse error: syntax error, unexpected ‘5’ (T_LNUMBER) in /home4/thefarmn/public_html/gwccorg/wp-content/plugins/insert-php/insert_php.php(48) : eval()’d code on line 5
[01-Jan-2014 00:28:43 UTC] PHP Parse error: syntax error, unexpected ‘5’ (T_LNUMBER) in /home4/thefarmn/public_html/gwccorg/wp-content/plugins/insert-php/insert_php.php(48) : eval()’d code on line 4Hi sammazza,
Looks like PHP is complaining about something on line 4 (and once on line 5) of the code between the [insert_php] and [/insert_php] tags.
The error lines you quote span about 3-1/2 hours. I suspect they were generated as you tried this and that with the PHP code on the post or page.
Insert PHP sends the code through an eval(), which is at line 48 of the plugin script. The “eval() code on line 4” tells you which line number in your code the issue was found.
More information on dealing with error messages is at
Thanks for keeping me in the loop. Much appreciated.
Yes, replacing
echo do_shortcode('[vfb id='5']');
with
echo do_shortcode("[vfb id='5']");
would resolve a quotes issue. When a quote character within a string is the same as the quote character bounding the string, the line will cause an error unless the quote in the string is escaped.
That’s with any PHP script, not just within the Insert PHP plugin.
What you did is a good solution. Sometimes, however, the bounding string must remain as it is. If that had been the case in your example, a solution could have been:
echo do_shortcode('[vfb id=\'5\']');
Will
As I haven’t heard back, Sam, I assume you have resolved the issue
Will
For now, I am no longer able to duplicate this error. The code for the shortcode was not mine, so I don’t know why the error was generated.
I have for now been working on another issue. If you want you can close this and if a problem reoccurs, i will contact you again.
Thank you for the help.
- The topic ‘Conflict with WooCommerce’ is closed to new replies.