get a replies parent forum
I need a way to find out what a replies parent forum is.
Reason is because I have created members only forums in a specific way by integrating DAP (Digital Access Pass) conditional functions. All of this is working great but my problem is with the search function of bbpress.
I need to filter the search so it doesn’t display replies that are under members only forums.
So like, IF REPLY_ID IS CHILD OF FORUM_NAME-OR-ID, REPLY = MEMBERS-ONLY-REPLY.
I don’t mind if it displays topics but I do not want people to see replies that are under members only forums if they are not a member.
So I think the file I need to play with is loop-search-reply.php but I need some help with figuring out the code to do this.
Thanks in advance to anyone who can help
You probably want to look into WordPress’ ‘Conditional Tags’
And then a list of bbPress’ conditional tags https://codex.bbpress.org/bbpress-conditional-tags/
Thanks for response Stephan,
I actually managed to do this by using some code in loop-search.php and I used the same code in loop-replies.php…heres the code that does it…
<?php if(get_post_type() == 'reply'):?> <?php // CHECK IF THIS REPLY IS UNDER MEMBERS ONLY FORUM. $parent = array_reverse(get_post_ancestors($post->ID)); // get an array of all the parent pages in order from most distant to closest. $first_parent = get_page($parent); //get the first page in the array, which is the most distant parent $int = apply_filters('the_ID', $first_parent->ID); //filter the $first_parent to get only the wordpress page/post ID, which is an integer like 49 or 565. store it as a variable $int ?> <?php if($int == 48) :?> <?php // DISPLAY A MESSAGE SAYING THE REPLY IS HIDDEN ?> <?php if(!user_subscribed()):?> <?php //bbp_get_template_part( 'loop', 'search-reply-membersonly'); ?> <div class="hidden-forum-comment">This comment is only visible to subscribers. <a href="/join">Click here to subscribe.</a></div> <?php endif;?> <?php else :?> <?php bbp_get_template_part( 'loop', 'search-reply'); ?> <?php endif ;?> <?php elseif(get_post_type() == 'forum'): ?> <?php bbp_get_template_part( 'loop', 'search-forum'); ?> <?php elseif(get_post_type() == 'topic'): ?> <?php bbp_get_template_part( 'loop', 'search-topic'); ?> <?php endif;?>
Hope i’ve pasted that correctly.
48 is the ID of the Members Only Forum.
!user_subscribed() is one of my own functions to check if a user is subscribed to a product with DAP (Digital Access Pass).
If anyone needs more help with this just ask. Be happy to help.
- You must be logged in to reply to this topic.