• One of the recent changes for NextGEN was introduced in 2.0.7:

    * Fixed:   Ensure that pluggable.php is loaded at the start of every request

    I’m using now version 2.0.17, and I see this in nggallery.php line 78:

    function _load_non_pope()
    {
      // Load WordPress pluggables for plugin compatibility
      include_once(path_join(ABSPATH, 'wp-includes/pluggable.php'));
      ...
    }

    Etc. Now, a website I’m supporting is using the S2Member Membership plugin (www.s2member.com). This plugin overrides some pluggable functions in WordPress, in particular, wp_new_user_notification.

    I’ve been having some trouble with this function, as our customizations for a new user registration email weren’t being used by WordPress or S2Member. Fortunately, newer versions of S2Member give out a warning:

    “New User Email Configuration
    Conflict warning: You have another theme or plugin installed that is preventing s2Member from controlling this aspect of your installation. When the pluggable function wp_new_user_notification() is handled by another plugin, it’s not possible for s2Member to allow customization of New User Emails. This is NOT a major issue. In fact, in some cases, it might be desirable. That being said, if you DO want to use s2Member’s customization of New User Emails, you will need to deactivate one plugin at a time until this conflict warning goes away.”

    That made me think that there was a conflict between plugin usage of that specific pluggable function (wp_new_user_notification) and I did some research. Turns out that the conflict wasn’t limited to that function, but that pluggables weren’t working at all!

    Here’s a reference of S2Member’s Support team mentioning the issue:

    https://www.s2member.com/forums/topic/strange-conflict-with-plugin/

    In particular, note that they mention this:

    “Generally speaking, a plugin should really NOT include/require the pluggable.php file at all. Instead, it should simply wait until the WordPress? init Hook has been fired, at which point any functionality it needs from the pluggable functions will be available already; so there’s no need for a plugin developer to include it.”

    Based on that, I did some research, and found that NextGEN is doing that, precisely. So I made a manual fix to nggallery.php:

    function _load_non_pope()
    {
      // Load WordPress pluggables for plugin compatibility<br />
      //include_once(path_join(ABSPATH, 'wp-includes/pluggable.php'));
      ..
    }

    This solves the issue with S2Member. Now, this might break NextGEN. I’m not sure, but my priority is for S2Member to work correctly, so I’m going to leave that in myself. But it’d be good if your developers investigate this issue, as doing the “pluggable.php” inclusion too soon (as NextGEN appears to be doing) would prevent ANY plugin from declaring its own pluggables. This could be a big issue for websites.

    So I’d like to leave this issue here, in the hope that a fix can be included in a future NextGEN version.

    Thanks!

    Leo

Viewing 8 replies - 1 through 8 (of 8 total)
  • I am having the same problem with NextGen 2.0.21 and s2Member v130816. I am running WP 3.6.1.

    s2Member is not able to send the custom email notifications on user registration. Instead, the default WordPress registration emails are being sent. Unfortunately, NextGen is very important to our site, so I can’t take advantage of the fix you suggest above.

    We are also getting the message:

    New User Email Configuration
    Conflict warning: You have another theme or plugin installed that is preventing s2Member from controlling this aspect of your installation. When the pluggable function wp_new_user_notification() is handled by another plugin, it’s not possible for s2Member to allow customization of New User Emails. This is NOT a major issue. In fact, in some cases, it might be desirable. That being said, if you DO want to use s2Member’s customization of New User Emails, you will need to deactivate one plugin at a time until this conflict warning goes away.

    Would someone from NextGen please acknowledge this posting? I’d like to know that you are aware of the problem.

    Thanks.

    @devrag: It is impolite to interrupt another poster’s ongoing thread with a question of your own. Please post your own topic.

    Thread Starter leoquijano

    (@leoquijano)

    Esmi, I think this is can be a serious issue for NextGEN, since the problem it’s not only with S2Member, but with any plugins that use pluggable functions.

    I think this should be considered ASAP, if the developers get a chance ??

    Leo

    “Me too” posts are not very useful. Have you submitted bug report per the developers’ request:

    We would also appreciate if you would submit a bug report here: https://www.nextgen-gallery.com/report-bug/

    Thread Starter leoquijano

    (@leoquijano)

    Ok I just did that. I have no ticket or reference number, since I’m a free user, but I hope it’s considered, as it’s in the best benefit of NextGEN.

    Regards,

    Leo

    Sorry, @esmi. I thought I was posting on the same subject. I’ll submit my own bug report as suggested above.

    Confirmed as still broken in v2.0.27…

    My problem with s2Member registration emails was fixed by v2.0.30 of NextGen!

Viewing 8 replies - 1 through 8 (of 8 total)
  • The topic ‘NextGEN breaking pluggable functions after version 2.0.7’ is closed to new replies.