WordPress.org

Ready to get started?Download WordPress

Forums

Insert PHP
[resolved] Conflict with WooCommerce (15 posts)

  1. shainanz
    Member
    Posted 7 months ago #

    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 :(

    http://wordpress.org/plugins/insert-php/

  2. WillBontrager
    Member
    Plugin Author

    Posted 7 months ago #

    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

  3. WillBontrager
    Member
    Plugin Author

    Posted 7 months ago #

    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

  4. shainanz
    Member
    Posted 7 months ago #

    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.

  5. Sam
    Member
    Posted 6 months ago #

    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...

  6. WillBontrager
    Member
    Plugin Author

    Posted 6 months ago #

    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

  7. Sam
    Member
    Posted 6 months ago #

    I quickly tried the test - and only that for now - I posted above.
    Fantastic! it works.
    Thanks.

  8. Sam
    Member
    Posted 6 months ago #

    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.

  9. WillBontrager
    Member
    Plugin Author

    Posted 6 months ago #

    Thanks for getting back to me, sammazza

    Let me know if you find any other issues with the plugin.

    Will

  10. WillBontrager
    Member
    Plugin Author

    Posted 6 months ago #

    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

  11. Sam
    Member
    Posted 6 months ago #

    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.

  12. Sam
    Member
    Posted 6 months ago #

    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 4

  13. WillBontrager
    Member
    Plugin Author

    Posted 6 months ago #

    Hi 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

    http://www.willmaster.com/software/WPplugins/insert-php-wordpress-plugin-instructions.php#errormessages

    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

  14. WillBontrager
    Member
    Plugin Author

    Posted 6 months ago #

    As I haven't heard back, Sam, I assume you have resolved the issue

    Will

  15. Sam
    Member
    Posted 6 months ago #

    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.

Reply

You must log in to post.

About this Plugin

About this Topic