first, i try this will not work but then i read again and put this code again its works fine thanks.
sorry, one of the many annoying thing now that WordPress has blocks is that it doesn’t like shortcodes unless written in a special way – I’ll release a new version shortly, but yes you add it as a shortcode block in a page, and that is your forums page
Hi @robin-w, just jumping on this thread as it is the same topic.
I installed your bbpress style back a few days ago and it is up on my website. However, I can’t seem to figure out where to put the shortcodes to make them work. Do I need to put them in the files themselves or can I put them on in the page content? When I have tried to use the shortcode to force login on the forum index page for non-members (by putting it in the page content section), I get an error message that the “response received is not a valid JSON file.”
Many thanks for all your hard work on this!
subscriptions used to be stored with the user, so in usermeta wp__bbp_forum_subscriptions which is what you are seeing – that data here is old.
However on 2.6.x this has changed, and now subscriptions are stored in the postmeta of the forum or topic they are subscribed to.
Each user has an entry
so the query
SELECT * FROMwp_postmetaWHEREpost_id= 2927 ANDmeta_keyLIKE '_bbp_subscription' ORDER BYmeta_idASC
where 2927 is the ID of the forum
will produce
post_id meta_key meta_value
2927 _bbp_subscription 1
2927 _bbp_subscription 1191
where the subsbribers to forum 2927 are user_id’s 1 and 1191
Hi there,
I want to import 150 users to my forum and subscribe them to a new “test” forum topic in order to check if the email notification is working (it stops after sending 100 emails).
In order to do this, I use the plugin “import and export users and customers” to import a list of made-up users (username and email are all that is needed for columns in CSV file).
Then I create a new “test” forum.
Now I want to subscribe them all to this forum topic programmatically via MySQL.
The issue is, I have looked at the SQL table and the only data that I can find on user subscriptions is the wp_usermeta where meta_key = 'wp__bbp_forum_subscriptions'. The meta_value shows the ID of the forum that users are subscribed to.
The issue is that it seems to be no longer working. Is it a meta_value that BBpress no longer uses? If so, which one is used?
If I take a random subscribed user (ID=17248) and check what they are subscribed to, the following query works: select * from wp_usermeta where meta_key = 'wp__bbp_forum_subscriptions' and user_id = 17248;. I can then see a list in the meta_value table of what they are subscribed to. But if I then (using the BBp Toolkit plugin) alter their subscriptions and e.g. unsubscribe them from a topic, go back to the DB and do the same query, it shows the same forum subscription IDs, even though there should be one less.
Could you point me in the right direction of which table to query to alter the forum topic ids of a user please?
no code that works is clumsy !!
Hey guys,
I installed Bbpress on one of my multisites and i have used a plugin to allow users to register tto resgister rather than allowing registrations at the network level.
I have used the bbpress shortcodes for the registration page and the login page however when i test registering as a new user it redirects me to a local-signup page which i assume is happening due to it being a multisite? Is there any way to have only one form that meeds to be filled in? Do i need a user and registration plugin?
The main issue i have is that qhen i do complete the registration process thw new user reveives no email…
I then added a plugin for Smtp, configured it and it works in itself but not diffrrence to the bbpress registration process.
Not sure how to fix the issue, i also tried allowing users to register at a network level but made no difference?
Do i need to add somethinking like the Ultimate user registrations plugin or wp forms? Will that make a difference?
Im ising using latest version of wp and bbpress on my site…
I finally got it to work clumsily
<?php global $current_user; get_currentuserinfo(); $uid = bbp_get_current_user_id(); ?>
<?php if ( bbp_get_user_forum_subscriptions( $uid ) ) : ?>
<?php while ( bbp_forums() ) : bbp_the_forum(); ?>
<?php $subs[] = bbp_get_forum_id(); ?>
<?php endwhile; ?>
<?php $forumid = implode(', ', $subs); ?>
<?php echo do_shortcode('[bbp-display-topic-index template ="short" forum="' . $forumid . '"]'); ?>
<?php endif; ?>
@robin-w I visited your website and noticed all the amazing work you’ve done, thank you.
What I’ve been trying to do all along was to get your shortcode [bbp-display-topic-index show='5' forum ='10,11,12'] to php so that the forums could be the IDs of the forums the user is subscribed to.. so an array
I’ve been trying to get it to work to no avail, [bbp-display-topic-index show='5' forum ='$forum_id'] or the likes return nill or with all the topics from all the forums, not just the subscribed ones
ate you still running the threaded replies plugin I did a few days ago? that’s designed to work with threaded replies turned on, no idea what it does if you turn threaded replies off and leave it active.
Both it and the code above hook to the same link.
Hi Robin,
Sorry to re-open this.
the latest topics pagination works great! thanks to the code above,
BUT when I turned off threaded replies. the normal pagination in topics is strange..
here is what I mean
https://opentuition.com/forums/
the page numbers it shows are : 1, 2, 4
instead of 1, 2, 3, 4, or 1,2, 4
and when I go to some topic
and click on page 3
it shows like this:
1, 1, 2, 3
here is the example
https://opentuition.com/topic/obu-period-40-results-post-your-comments-instant-poll/page/3/
is there anything that can be done? do you think?
thanks
Kris
Correction, I am getting the bbp_forum_title() that we passed but not <?php bbp_get_template_part( 'loop', 'single-topic' ); ?> that I was initially trying to filter.. No worries tho, one step closer
@robin-w thank you for all the help, after a bit of tinkering I changed bbp_get_user_forum_subscriptions to bbp_get_user_topic_subscriptions and it worked flawlessly, thank you so much
It’s still returning null, no output whatsoever. I even print_r($subs) inside the while loop and nothing shows up, I’m using the latest versions of bbpress and wordpress, the theme is a blank starter theme with only bbpress plugin activated
The $subs = explode(',' , $subs); turns the string in the database to an array.
Can you confirm for the user selected that they have active subs?
I have included $subs = explode(',' , $subs); and it’s returning nothing, it has no error or any output..
The other error was Warning: in_array() expects parameter 2 to be array, bool given in ..../content-main.php on line 21
Line 21 is <?php if (in_array($forum_id, $subs)) { ?>
<?php global $current_user; get_currentuserinfo(); $uid = bbp_get_current_user_id(); ?>
<?php if ( bbp_get_user_forum_subscriptions( $uid ) ) : ?>
<?php $subs = bbp_get_user_forum_subscriptions( $uid ) ; ?>
<?php $subs = explode(',', $subs);
<?php while ( bbp_forums() ) : bbp_the_forum(); ?>
<?php $forum_id = $bbp->forum_query->post->ID; ?>
<?php if (in_array($forum_id, $subs)) { ?>
<p><?php bbp_forum_title(); ?></p>
<?php } ?>
<?php endwhile; ?>
<?php endif; ?>
hold on you haven’t got the line
<?php $subs = explode(',', $subs);
Same error indicating this line <?php if (in_array($forum_id, $subs)) { ?>
try
<?php global $current_user; get_currentuserinfo(); $uid = bbp_get_current_user_id(); ?>
<?php if ( bbp_get_user_forum_subscriptions( $uid ) ) : ?>
<?php $subs = bbp_get_user_forum_subscriptions( $uid ) ; ?>
<?php while ( bbp_forums() ) : bbp_the_forum(); ?>
<?php $forum_id = $bbp->forum_query->post->ID; ?>
<?php if (in_array($forum_id, $subs)) { ?>
<p><?php bbp_forum_title(); ?></p>
<?php } ?>
<?php endwhile; ?>
<?php endif; ?>
<?php global $current_user; get_currentuserinfo(); $uid = bbp_get_current_user_id(); ?>
<?php if ( bbp_get_user_forum_subscriptions( $uid ) ) : ?>
<?php $subs = bbp_get_user_forum_subscriptions( $uid ) ; ?>
<?php while ( bbp_forums() ) : bbp_the_forum(); ?>
<?php $forum_id = bbp_get_forum_id( $forum_id ); ?>
<?php if (in_array($forum_id, $subs)) { ?>
<p><?php bbp_forum_title(); ?></p>
<?php } ?>
<?php endwhile; ?>
<?php endif; ?>
can you post your corrected code
There were a few syntax errors I fixed with your code, and the error message ends with the files location stating that the error comes from the line ‘<?php if (in_array($forum_id, $subs)) { ?>’
Your second snippet returns null, nothing, maybe bbp_forum_title() won’t work in this context?
Hello Robin, thank you for your reply. I got this error Warning: in_array() expects parameter 2 to be array, bool given in... I’d appreciate helping me figure it out if possible
untested but something like
<?php global $current_user; get_currentuserinfo(); $uid = bbp_get_current_user_id(); ?>
<?php if ( bbp_get_user_forum_subscriptions( $uid ) ) : ?>
<?php $subs = bbp_get_user_forum_subscriptions( $uid ) ; ?>
<?php while ( bbp_forums() ) : bbp_the_forum(); ?>
<?php $forum_id = bbp_get_forum_id( $forum_id ); ?>
<?php if (in_array($forum_id, $subs)) { ?>
<p><?php bbp_forum_title(); ?></p>
etc.
<php } ?>
<?php endwhile; ?>
<?php endif; ?>