• Resolved Meska_

    (@meska_)


    Hi,

    after the latest update of Easy Login WooCommerce, customer registration is currently broken on our WooCommerce shop.

    The issue happens both through the Easy Login popup registration and the normal WooCommerce “My Account” registration page.

    The AJAX request fails with HTTP 500.

    AJAX action:
    xoo_el_form_action

    Fatal error from debug.log:

    Uncaught Error: Class "XooEL\Aff\WP_Error" not found in:
    wp-content/plugins/easy-login-woocommerce/xoo-form-fields-fw/admin/class-xoo-aff-fields.php:1419

    Stack trace points to:
    XooEL\Aff\Xoo_Aff_Fields->validate_submitted_field_values()
    Xoo_El_Form_Handler::process_registration()
    Xoo_El_Form_Handler::form_action()

    It looks like WP_Error is being called inside the XooEL\Aff namespace without a leading backslash.

    Current code seems to use something like:

    $errors = new WP_Error();

    Because the file is namespaced, PHP tries to load:

    XooEL\Aff\WP_Error

    instead of the global WordPress class:

    \WP_Error

    A quick local patch fixes the fatal error:

    $errors = new \WP_Error();

    Could you please confirm and include this fix in the next update?

    This issue started after the latest update, released approximately 7 hours ago.

    Thanks.
Viewing 10 replies - 1 through 10 (of 10 total)
  • Plugin Support pulkitxootix

    (@pulkitxootix)

    Hello @meska_

    We’re already aware of the issue and released a fix about 7 hours ago. However, due to WordPress.org’s new policy, plugin updates are delayed by up to 24 hours.

    In the meantime, you can download the latest version directly from the link below and reinstall the plugin:

    https://downloads.wordpress.org/plugin/easy-login-woocommerce.3.2.4.zip

    Thread Starter Meska_

    (@meska_)

    @pulkitxootix great. thank you

    Thread Starter Meska_

    (@meska_)

    Hi,

    unfortunately, version 3.2.5 introduces another critical regression.

    After updating from 3.2.4 to 3.2.5, WordPress login fails with the following message:

    Error: Cookies are blocked due to unexpected output.

    The same unexpected output also causes several WordPress admin pages to load as blank or incomplete pages.

    Reverting to version 3.2.4 immediately resolves the issue.

    I compared both plugin versions and found the cause. In version 3.2.5, at least 37 PHP files now begin with this pattern:

    <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
    
    <?php

    One affected file is:

    includes/xoo-framework/xoo-framework.php

    Because the first PHP block is closed with ?>, the line breaks between the two PHP blocks are sent as output. Since xoo-framework.php is loaded during normal plugin initialization, output is generated before WordPress can send login cookies and HTTP headers.

    The guard should remain inside a single PHP block, for example:

    <?php
    
    if ( ! defined( 'ABSPATH' ) ) {
        exit;
    }

    The file should then continue without closing and reopening PHP.

    Please check all files where the new direct-access protection was added. The problem is not limited to one template file; the same pattern occurs throughout the plugin package.

    This appears to have been introduced as part of the security-related changes in 3.2.5.

    For context, the previous release already caused customer registration to fail because WP_Error was referenced inside the XooEL\Aff namespace without the global namespace prefix. You provided version 3.2.4 after I reported that issue, and that version currently works.

    Could you please release a corrected update that includes both fixes and test the following before publishing it?

    • WordPress login via /wp-login.php
    • WooCommerce customer registration
    • Easy Login AJAX registration
    • WordPress admin React pages
    • AJAX and REST responses
    • PHP 8.4 compatibility

    Thanks.

    Plugin Support pulkitxootix

    (@pulkitxootix)

    Please fetch the latest version from here and install
    https://downloads.wordpress.org/plugin/easy-login-woocommerce.3.2.6.zip

    Thread Starter Meska_

    (@meska_)

    Hi,

    thanks for sending version 3.2.6.

    I checked the package, and the previous WP_Error namespace issue appears to be fixed correctly:

    $errors = new \WP_Error();

    However, version 3.2.6 still contains the unexpected-output problem that can prevent WordPress from setting login cookies and can corrupt AJAX or REST responses.

    In around 30 PHP files, the following pattern is still present:

    <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
    
    <?php

    The closing ?> followed by a new PHP block outputs the line break between the blocks.

    One directly affected file is:

    includes/class-xoo-el-helper.php

    This file produces a CRLF line break before WordPress can send HTTP headers. This can cause:

    • “Cookies are blocked due to unexpected output”
    • failed WordPress logins
    • broken AJAX or REST responses
    • blank or incomplete WordPress admin pages

    The direct-access guard should remain within the same PHP block:

    <?php
    
    if ( ! defined( 'ABSPATH' ) ) {
        exit;
    }

    Please check the entire plugin package and remove the closing and reopening PHP tags from all affected files, not only one specific file.

    I tested a locally corrected version with all affected transitions removed, and it no longer produces unexpected output.

    Plugin Support pulkitxootix

    (@pulkitxootix)

    Thank you for your input. Could you please try this?
    https://downloads.wordpress.org/plugin/easy-login-woocommerce.3.2.7.zip

    Thread Starter Meska_

    (@meska_)

    Yes perfect. Everything seems to be working again.

    Plugin Support pulkitxootix

    (@pulkitxootix)

    Excellent. Thanks for your time.

    Update 3.2.7 not working for me.

    When attempting to log in or submit a request on the “My Account” page, the action fails and the user is presented with two unhandled error states:

    1. A generic text error on the page reading: “We could not process your request, please check console or try again later.”
    2. A blank white modal/iframe opens dynamically over the page, displaying only the raw text "-1" in the top left corner.

    In Console:
    POST https://www.bohemiantattoosupply.co.nz/wp-admin/admin-ajax.php 403 (Forbidden)

    Plugin Support pulkitxootix

    (@pulkitxootix)

    @btaadmin
    Looks like a caching issue on your end, did you clear the cache after update?
    Please let me know once you update, I will check futher.
    Also kindly open your new support thread or directly send me a message here

Viewing 10 replies - 1 through 10 (of 10 total)

You must be logged in to reply to this topic.