Forum Replies Created

Viewing 15 replies - 1 through 15 (of 20 total)
  • Having the same issue here as well. Looking at the Github issue, it was resolved in Feb. So either it wasn’t actually resolved, or there’s been a regression, or maybe it’s a new issue with Stripe changing something their end?

    Thread Starter xoogu

    (@xoogu)

    Yes, that’s right – there seems to be a typo / mistake as the ! is missing at the start of the if condition on line 249. Adding the ! will give the correct behaviour.

    (The first check on ln 237 is for the compressed page, the sceond check on ln 249 for the uncompressed page).

    Thread Starter xoogu

    (@xoogu)

    It very likely is a PHP version thing – I’m on PHP7 (with E_ALL error reporting), which tends to be a bit stricter than earlier versions.

    Are you making sure to clear W3TC cache (and preferably your browser cache, just to be sure) after each change?
    Have you defined the W3TC_DYNAMIC_SECURITY constant?
    Are you seeing the actual mfunc / mclude tags in the HTML output of the page, or do you just mean those tags are replaced with nothing?
    If you try a very basic mfunc tag like the example:
    <!-- mfunc mysecretdynamictag -->echo rand();<!-- /mfunc mysecretdynamictag --> what result does that give? (replacing ‘mysecretdynamictag’ with whatever value you have set for the W3TC_DYNAMIC_SECURITY constant).

    Did you try re-installing the plugin, or removing the file it tells you to remove?

    I’m not sure the plugin will be updated to fix these issues, it seems the Press Permit and WP capabilities Manager are the updated versions of this plugin. You have to purchase a licence for Press Permit to get the same capabilities as Role Scoper. But thankfully for the functionality I needed the free WP capabilities Manager plugin works well.

    The Role Scoper plugin appears to be very old, the code is all written for PHP4 (PHP5 was released in 2004). To update it to current standards and so avoid the notices in your error logs would be a large undertaking.

    What happens if you change the permalink structure to
    /index.php/%post_id%-%postname%/

    My guess is that should either work or give you an infinite redirect.

    WordPress does support non-ASCII chars in the URL / post title, so it sounds like the characters are getting mangled at some point on your installation.

    Seems to be working okay on PHP 7 in my dev environment.

    I’ve come across someone else with a similar issue now, and found what the problem was in their case, it could be the same problem for you.

    If you are also using HTML minification, then this will strip out the mfunc comments, and so the PHP code never gets evaluated, but instead just gets output to the page.

    To fix this, on the W3TC Minify settings page, find the section ‘HTML & XML’, then in the ‘Ignored comment stems’ textbox, add ‘mfunc’ (without the quotes). That way the HTML minifcation won’t strip out the mfunc comments, and so the dynamic code should work properly.

    (Note to plugin authors – you may want to consider adding ‘mfunc’ to the ‘Ignored comment stems’ as a default).

    Thread Starter xoogu

    (@xoogu)

    I’ve got quite a lot of debug entries in my debug.log now. Here’s an example: http://pastebin.com/u9GGtgAZ

    As you can see, $post is empty (because comment_post_ID is 0).

    Unfortunately as this is a live site I can’t really disable all other plugins / switch to a default theme to check if the problem is a conflict somewhere.

    Thread Starter xoogu

    (@xoogu)

    Yes, that’s correct. I couldn’t find a link to download any beta version, just the nightlies.

    Thanks for the link to that post, judging by this it looks like it’s all in hand. (Assuming those changes are actually carried through to the next release).

    If you view source on the page, what do you see? Just the echo line, or also the mfunc lines?

    Have you tried adding a space between the <!– and mfunc, i.e.

    <!-- mfunc <?php echo W3TC_DYNAMIC_SECURITY; ?> -->
    echo 'The time is '.date( 'H:i:s', time() );
    <!-- /mfunc <?php echo W3TC_DYNAMIC_SECURITY; ?> -->

    Thread Starter xoogu

    (@xoogu)

    Yes, I’m seeing the following in the debug log:
    PHP Notice: Trying to get property of non-object in wp-content/plugins/akismet/class.akismet.php on line 129

    I have 11 entries in the debug log, all with this error, from 11th June up to 7th July. So it is obviously some specific set of circumstances that don’t occur very often that cause the error.

    I’ll see if I can set something up to provide some debug info (at the moment I’m filtering akismet_debug_log, so don’t have any debug info).

    After line 128 I’ll add:

    if ( !is_object($post) && defined( 'WP_DEBUG_LOG' ) && WP_DEBUG_LOG ) {
    			error_log( print_r( compact( 'comment' ), true ) );
    		}

    Oops, just realised the errors were on a site with Akismet 3.12. Well, I’ll make the debug changes to 3.13 and see how it goes.

    xoogu

    (@xoogu)

    1. Just came across the late init box being grayed out problem myself, which is how I found your post. You need to change the Page cache method to Disk: Basic (rather than Disk: Enhanced) on the General Settings page of the W3TC settings. After doing this the late init option will become available.

    2. I’m pretty sure the security hash must be added to your wp-config.php file manually. It is a security feature for when enabling page fragment caching in the non-Pro version. It is needed so that when some parts of the page are made dynamic, commenters can’t inject PHP code. (They would need to know the value of the W3TC_DYNAMIC_SECURITY string to be able to inject dynamic code).

    3. Yes, there is a performance hit. Much more of wordpress is loaded when using late init. Loading and processing all the various files will give a performance hit.

    xoogu

    (@xoogu)

    That’s nothing to do with WP Super Cache. Just search the web for ‘non blocking css’ and you’ll find plenty of answers on how to deal with it. Or just ignore that error.

Viewing 15 replies - 1 through 15 (of 20 total)