Locking additional sections, specifically featured image

I’m using the ComicEasel plugin and setting my comic as a featured image so it’s not part of the actual content section. This still shows the image when a post is locked to patreons only. I need a way to lock down that image as well, has anyone done this?

Just like the similar earlier case with ACF plugin, if the comic content is not being posted into WordPress content or any other element which goes through the_content filter, locking will not take effect.

Solution to this could be applying the_content filter to ComicEasel plugin output somehow. Their manual or their support can help you with this.

On a sidenote, we are going to release image locking feature in ~1 week, which will allow you to lock images directly.

Out of curiosity, how might one program the plugin to address an ACF, or, if a theme is calling up content through something other than “the_content” (like through a page builder apparatus or something) how might one direct the plugin to that?

Or, in other words, where is the code within the plugin that tells it to check/replace “the_content”, and can one add a similar line underneath it/before it that asks it to also check whatever the theme is using?

The protection code hooks to ‘the_content’ filter. So, if you manually apply the_content to any kind of content you pulled, then protection would become active. Of course, that content needs to be linked to a post - a random meta, widget or any other kind of content will not be protected. (yet).

When the_content filter application is not desirable, there are other means:

When you put your content into

Patreon_Frontend::protectContentFromUsers($content);

function, it would manually process the content and lock it if necessary.(It shouldnt require you to instantiate the object)

But for this, you must be in a $post context - ie either in a single post/page, or in the loop, where current post id is available. Because it currently takes the post id from global.

But this is a good catch and good point - because even if this function would fulfill your needs at this point, if we add a $post_id input to the function it would allow the function to work outside single post or loop contexts and would allow any kind of content processing (for any content which post_id exists).

A lot of that is over my head LOL…

That being said though, the support for the theme I use (Kallyas, which is a very popular theme), gave me a bit of code to throw into the functions.php file of my child theme, but that didn’t work either - it actually made the page builder pages look all screwy.

I thought it could be as simple as finding out what the theme uses instead of “the_content” to display this page builder content and then throw that into the plugin’s Frontend php but I don’t think it’s that simple based on what you’ve said.

I know that page building stuff like this is VERY popular and growing, so I hope there’s some kind of way to get this patreon plugin to work with those (which I understand isn’t one size fits all because they are all so particular).

Without that ability though the patreon app and platform is pretty useless to me right now. Thankfully I’m not intending to use it til later this year but I want to know that it works before that, obviously.

If I DID have the alternative to “the_content”, where would I put that in the frontend php and how might it look? Or can it even really be done that way?

Generally, in the WordPress community plugin creators don’t adapt to themes, but themes should try to adapt to plugins. If all basic WordPress functions are used, such as the_content, there shouldn’t be a problem. But it’s likely the case that the creators behind Kallyas edited the code so much that they’re using their own functions or are overwriting the hooks that the Patreon WP plugin is trying to use.

Try contacting the creators to see if they can check what’s going on.

1 Like

I did do that actually. They provided me code to put into the child theme’s functions.php that in theory would have made that page builder stuff appear as though it were “the_content” but it didn’t work. So… I don’t know as there’s really any resolution for this. Which is a bummer because I’d really like to be able to keep users on my site and not have to send them off to Patreon.

What they gave me more or less broke the pages in question.

Try to investigate single.php in your theme folder. In it somewhere you should either see something like the_content(); , or something else should be in its place. Thats where the post/page content is being displayed.

Then depending on that, there are 2 ways to proceed according to what you find out.

Well I can tell you the theme builder said this:

//

1, you are looking for the following:
ZNB()->frontend->renderContentByArea();

2, you will need to add the following code to functions.php of your child theme:
add_filter(‘the_content’, ‘znAddPbContent’, 1);
function znAddPbContent($content){
$content .= ZNB()->frontend->renderContentByArea();
return $content;
}

//

This below is the only thing that looks obvious to me in terms of what this might be using in Single.php:

>
				<div id="th-content-post">
					<?php
					while ( have_posts() ) : the_post();
						get_template_part( 'inc/page', 'content-view-post.inc' );
					endwhile;

					if ( comments_open() || get_comments_number() ) :
						comments_template();
					endif;
					?>
				</div><!--// #th-content-post -->

under inc folder in your theme folder, there may be a file named page-content-view-post.inc… or content-view-post.inc…

Try to check and confirm if ZNB()->frontend->renderContentByArea(); is inside that file.

No nothing like that, which is odd now that you point it out.

Threre’s not a lot in it, (I also checked page.php and it points to a similar thing the above does - “content-view-page.inc”), and I’d post it but it’s enough that it’s an eyesore and I don’t want to annoy LOL. I would be happy to send the actual file along if that was possible if you wanted to look at it.

They sent me another attempt at code to put in my child theme’s functions.php but it just doubled up the content on the page rather than triple (which the first attempt did) and it didn’t seem as though the content blocker of the patreon plugin saw it still.

So… I dunno. I realize I’m asking two different parties for suggestions and I understand that what I’m asking is technically not supported by either party. Just really loved the idea of being able to make my site a pay site without having to use paid memberships pro or something like that. And I love Patreon in general so that would be cool.

Any other thoughts on what I could try or look at? I’m unfortunately just really confused. I know there’s probably a way to do it it’s just not making itself obvious.

I DO have this junk in page-content-view-post:

$post_format = get_post_format() ? get_post_format() : ‘standard’;
$current_post = zn_setup_post_data( $post_format );

$link_post_img = zget_option(‘sb_link_post_img’, ‘blog_options’, false, ‘no’) == ‘yes’ ? ‘kl-blog-link-images’ : ‘’;?> <div id=“post-<?php the_ID(); ?>” <?php post_class('kl-single-layout--'.$blog_layout); ?>>

<?php echo $current_post['before_head']; ?>

<div class="itemView clearfix eBlog kl-blog kl-blog-list-wrapper kl-blog--style-<?php echo $blog_style; ?> <?php echo $link_post_img; ?>">

Don’t know if any of that helps. It does also mention:

/**

  • Displays the layout for the post type POST, inside page.php
  • @internal
  • @see page-content-template.inc.php
    */

But I can’t seem to find this page-content-template.inc.php anywhere to see if that has anything.

Is there any file with post-content-template.inc.php ? Or any name starting with single- or post- ? There has to be a single.php directly in your theme folder though.

Yes Single.php is where the details from a few comments back came from. Here’s a list of the things I’ve found that appear as though they might be relevant:

Page.php
Single.php
page-content-view-page.inc.php
page-content-view-post.inc.php

I’m really not finding much else. And I can’t seem to find a page-content-template.inc.php at all. So I don’t know what that’s referring to.

I was hoping I could find something in the view source of the page in question that would be helpful as some places I’ve looked up suggest that sometimes these page builders put their content in the meta, but I haven’t been able to find anything super obvious.

The page in question is here:
http://www.enderbowen.com/patreon-awesomesauce/

I don’t mind sharing it as right now it’s still being built and there isn’t a whole lot that’s here that is functional yet. Though I do notice that the page information coming up in that link brings up the lock text. LOL.

single.php is what we should be concentrating on.

It would be better if you just mailed that file to me at ozgur@c.patreon.com