Support » Plugin: Events Manager » Compatibility with WC Memberships plugin

  • Resolved Ninos

    (@ninos-ego)


    Hey there,
    this plugin is not compatible with the woocommerce-memberships plugin because it’s using custom sql-statements instead of get_posts() / WP_Query(). Normally in /classes/em-events.php:75 in the function get() you should use the WP_Query-function with the filters posts_join, posts_where, …

    See also:
    https://codex.wordpress.org/Plugin_API/Filter_Reference/posts_join
    https://codex.wordpress.org/Plugin_API/Filter_Reference/posts_where

    After using that filters normally the memberships plugin should work without any problems (for hiding the restricted events).

    PS: In other places you’re also using custom sql-statements. I recommend you also replacing them 🙂
    PS²: By using the wp-functions you also increase compatibility, flexibility & security..

    Best regards

Viewing 8 replies - 1 through 8 (of 8 total)
  • Plugin Support caimin_nwl

    (@caimin_nwl)

    NetWebLogic Support

    Hi,

    What problems are you seeing that make you say there are compatibility issues?

    Normally the for the current user unavailable events should be unlisted on the events list. The wc-memberships-plugin filters them automatically if WP_Query is used to get the events.
    > What problems are you seeing that make you say there are compatibility issues?
    Nothing happens. The not accessable events are still listed on events list.

    Plugin Support caimin_nwl

    (@caimin_nwl)

    NetWebLogic Support

    Sorry, can you clarify what you mean by:

    Normally the for the current user unavailable events should be unlisted on the events list

    Thanks.

    Sry, meant:

    Normally for the current user unavailable events should be unlisted on the events list

    Small example:

    • I’m user with ID 1
    • User 1 is in membership get-access-to-event-cat-1
    • User 1 can NORMALLY only see events in event-category event-cat-1
    • Problem: On events list user can also see events which are in other categories than event-cat-1.

    This is because your plugins does not use WP_Query so the wc-membership-plugin cannot add where-conditions to the used WP_Query statement by using the wp-filters. Your plugin is using a custom sql-query.

    Hope it’s it bit more clear now 🙂

    Plugin Support caimin_nwl

    (@caimin_nwl)

    NetWebLogic Support

    Thanks for the clarification. I’ll pass this thread on to the Dev tean.

    • This reply was modified 10 months, 2 weeks ago by  caimin_nwl.

    Perfect, thank you! 🙂

    Plugin Author Marcus

    (@netweblogic)

    Hi @ninos-ego,

    Sorry for the delayed reply.

    Just to let you know I’ve reviewed this thread. Unfortunately, changing the way we query things won’t happen, at least not for things like event listings etc. There’s various reasons for this, one example being the fact that our custom SQL statements allow MultiSite environments to share events between sites, WP_Query does not.

    What you can do is turn off our custom search pages or disable our formatting of the events/locations page and then they do get listed with WP_Query, as well as not using things like lists of upcoming events at specific locations.

    I assume that the actual event pages don’t display to the relevant user if they shouldn’t be able to see it, right?

    The more likely solution is to integrate with the plugin and add specific code to omit events a user shouldn’t be seeing. We do something similar for BuddyPress with events belonging to private or hidden groups. I’ve made note of this for a future update.

    Hey Marcus,
    thanks for your reply. The WP_Query has filters which can be used to extend the query. So WP_Query can also be multisite-ready. You could use following scripts, so you don’t need to code something by yourself for multisite-feature:
    https://github.com/ericandrewlewis/WP_Query_Multisite
    https://github.com/miguelpeixe/WP_Query_Multisite

    I really recommend switching to WP_Query. It’s may a little bit work, but it enhances your compatibility with lots of plugins and also adds flexibility to your queries.

    Kindest regards

Viewing 8 replies - 1 through 8 (of 8 total)
  • The topic ‘Compatibility with WC Memberships plugin’ is closed to new replies.