Most builders use post meta content, so Oxygen Builder is not unique in that regard.
The way most builders work (even if they use post meta) is to use the_content
filter. The way WP-Members works is when a user is not logged in, it empties the content contained in the_content
and replaces it with a login/registration form.
the_content
is a commonly used filter because it affects the main content area of nearly every page in a WP install. Since it is common, many plugins and themes will hook into it. Compatibility is based on when each of these runs their primary filter on the_content
. Filters are run based on the priority assigned to the filter, so a developer can set their filter to run earlier or later.
Builders work by adding content to the_content
, so if the builder’s the_content
filter runs after something like WP-Members, then it simply adds content into the_content
after WP-Members has run to take it out.
In order to provide compatibility with a wide range of other products, WP-Members runs its filter late, at a priority of 99 (so anything priority 98 or lower will run first). Most builders I’ve come across run before 99, so there is automatic compatibility – at least from a content restriction standpoint. But if the builder runs at 100 or higher then you’d have to set up a the_content
filter to re-run WP-Members’ securify()
function on the content a second time (at a point after the builder’s filter has run).
So if WP-Members is not blocking content from Oxygen Builder, the reason isn’t simply that the content is post meta. It would have to be that either the post meta content is not loaded using the_content
filter, or that the post meta content loaded using the_content
is fired later than WP-Members runs its filter on the_content
.