A boatload unfortunately.
Admin Columns
Adminimize
Advanced Classifieds and Directory Pro
Advanced Custom Fields
Advanced Custom Fields PRO
All-in-One WP Migration
All-in-One WP Migration Unlimited Extension
amr shortcode any widget
bbP shortcodes
bbPress
bbPress Style
bbpress wp4 fix
bbpress wp4 fix2
Better Search Replace
Bulk Delete
Check Email
Classic Editor
Code Snippets
Contact Form 7
Envato Market
Events Manager
Events Manager Pro
GA Google Analytics
Goodlayers Core
Goodlayers Personnel Post Type
Goodlayers Portfolio Post Type
Goodlayers Twitter
Google XML Sitemaps
Horizontal scrolling announcements
If Menu – Visibility control for menu items
Image Upload for BBPress
Image Upload for bbPress Pro
Intuitive Custom Post Order
Login or Logout Menu Item
Magic Liquidizer Responsive Table
Maintenance
ManageWP – Worker
Media Cleaner
Media Deduper
MemberPress Developer Tools
MemberPress Importer
MemberPress Plus
PAS Vehicle
PDF Embedder
Plugin
Pricing Table by Supsystic
Really Simple CSV Importer
Redux Framework
Reveal IDs
Search & Replace
Simple File List
Simple Lightbox
Slider Revolution
Snazzy Maps
Toolset Types
Toolset Views
UpdraftPlus – Backup/Restore
User Role Editor
User Switching
WordPress Importer
WP All Export Pro
WP All Import – ACF Add-On
WP All Import Pro
WP Engine Automated Migration
WP Google Map Plugin
WP phpMyAdmin
WP-Optimize – Clean, Compress, Cache
WPForms
WPForms Custom Captcha
WPForms PayPal Standard
WPForms Stripe
Нow to restrict create new tags for topic & answers by users?
preferably without new plugins and role settings.
Now I can close the tag field with the css method – but may be through the code better?
Sure,
1. Indentify template file of forum index in template directory of plugin and copy it to your theme, but place it in bbpress folder.
2. place the code what I have sent, you have link above the forum to profile.
I can do same as profile menu as is here above forum, but it require more coding and probably you will experience difficulties with integration. Only solution is I can send you custom theme to demonstrate what I can do 🙂
If you could explain the whole process of what I need to do, and the code needed and where it goes, then I am sure others would be interested in reading this thread ?
There used to be a plugin called ‘bbPress Profile Link Shortcode’ created by ‘Tyler Tervooren’
Alas this plugin is out of date, is there any equivalents ?
bbPress Profile Link Shortcode
Combined html with php
<a href="<?php echo bbp_get_user_profile_url( get_current_user_id() ); ?>">Profile</a>
Can you share theme? I will customize it and you will just activate it 😉
The Profile works as a hyperlink, but I am unable to get the link to a users profile by combining the php code into the Profile html link
Could you detail how I combine the two code sources to work together ?
I have realized I cannot code ;-(
You do not want to give access to profile subpages to other forum participants.
Yes, you are rock.
I do not use operand and
. I like &&
.
Glad you like it 😊🐱😝
Thank you very much, it was very good. I added a bit because I want the user to access their own links, but not other users.
I did it well?
add_action( 'template_redirect', 'redirect_user_to_profile_from_subpages' );
function redirect_user_to_profile_from_subpages() {
global $wp;
$user_id = bbp_get_displayed_user_id();
// subpage - enagements
if ($wp->query_vars["bbp_engagements"] == 1 and $user_id != get_current_user_id() ) {
wp_safe_redirect( bbp_get_user_profile_url( $user_id ) );
exit;
}
// subpage - topics created
if (bbp_is_topics_created() and $user_id != get_current_user_id() ) {
wp_safe_redirect( bbp_get_user_profile_url( $user_id ) );
exit;
}
// subpage - replies created
if (bbp_is_replies_created() and $user_id != get_current_user_id() ) {
wp_safe_redirect( bbp_get_user_profile_url( $user_id ) );
exit;
}
// subpage - subscriptions
if (bbp_is_subscriptions() and $user_id != get_current_user_id() ) {
wp_safe_redirect( bbp_get_user_profile_url( $user_id ) );
exit;
}
}
Yes, @delta5
Auto-embed links:
Embed media (YouTube, Twitter, Flickr, etc…) directly into topics and replies
Go to -> Settings -> Forums -> Forum Features (section) -> Auto-embed links
All right so you have above defined 4 links. 4 subpages and we want to redirect redirect them to user profile main page.
We need to use hook to redirect those pages
add_action( 'template_redirect', 'redirect_user_to_profile_from_subpages' );
function redirect_user_to_profile_from_subpages() {
global $wp;
// subpage - enagements
if ($wp->query_vars["bbp_engagements"] == 1 ) {
wp_safe_redirect( bbp_get_user_profile_url( get_current_user_id() ) );
exit;
}
// subpage - topics created
if (bbp_is_topics_created()) {
wp_safe_redirect( bbp_get_user_profile_url( get_current_user_id() ) );
exit;
}
// subpage - replies created
if (bbp_is_replies_created()) {
wp_safe_redirect( bbp_get_user_profile_url( get_current_user_id() ) );
exit;
}
// subpage - subscriptions
if (bbp_is_subscriptions()) {
wp_safe_redirect( bbp_get_user_profile_url( get_current_user_id() ) );
exit;
}
}
Let me know if this works for you.
Sure, contact anytime. 😉
This can help as well.
We can use action hook. Here is explation how to use it. There are files where you can find the place.
https://codex.bbpress.org/bbp_theme_before_forum_title/
This code will generate html link if you combine with code above:
<a href="[php_code]">Profile</a>
Place it above the forum maybe?
Correct and many thanks
where should I place profile code ?
<?php echo bbp_get_user_profile_url( get_current_user_id() ); ?>
SSo, you said you need dynamic url to user bbpress profile. Correct?
This code will generate profile url
<?php echo bbp_get_user_profile_url( get_current_user_id() ); ?>
It should be easy to understand code and should work as you describe above.
Do not hesitate to contact me.
Here are my screenshots:
Home Page:
https://ibb.co/8m1225X
Single Page:
https://ibb.co/KhCDFtx
I would like the first forum topic created to be displayed on the post page.
You need to add another line of code to action function. We need to save topic id to post meta.
whole function.php
// Add the hook action
add_action('transition_post_status', 'send_new_post', 10, 3);
// Listen for publishing of a new post
function send_new_post($new_status, $old_status, $post) {
if('publish' === $new_status && 'publish' !== $old_status && $post->post_type === 'post') {
$my_post = array(
'post_title' => $post->ID,
);
$forum_id = bbp_insert_forum($my_post);
$my_topic = array(
'post_title' => $post->post_title,
'post_content' => $post->post_content,
'post_parent' => $forum_id
);
$topic_id = bbp_insert_topic($my_topic);
update_post_meta( $post->ID, 'forum_first_topic', $topic_id );
}
}
In single.php we can call your shortcode for showing topic by id because whe have post meta.
Paste this into loop:
$topic_id = get_post_meta( get_the_ID(), 'forum_first_topic', true );
echo do_shortcode(' [bbp-single-topic id='.$topic_id.']');
Whole single php loop:
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<div class="article">
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_content(); ?>
<h2>Forum: <?php echo basename(get_permalink()); ?></h2>
<?php
$post = get_post(get_the_ID());
$mypost = get_page_by_title(get_the_ID(),OBJECT,'forum');
$topic_id = get_post_meta( get_the_ID(), 'forum_first_topic', true );
echo do_shortcode(' [bbp-single-topic id='.$topic_id.']');
echo do_shortcode( '[bbp-single-forum id='.$mypost->ID.']' ); ?>
</div>
<?php endwhile; ?>
<?php endif; ?>
How do I add the post content to the first post of the new topic?
Under this action:
add_action('transition_post_status', 'send_new_post', 10, 3);
Replace with updated function:
// Listen for publishing of a new post
function send_new_post($new_status, $old_status, $post) {
if('publish' === $new_status && 'publish' !== $old_status && $post->post_type === 'post') {
$my_post = array(
'post_title' => $post->ID,
);
$forum_id = bbp_insert_forum($my_post);
$my_topic = array(
'post_title' => $post->post_title,
'post_content' => $post->post_content,
'post_parent' => $forum_id
);
bbp_insert_topic($my_topic);
}
}
How do I append the post post title to the forum id?
Change this <h2>Forum: <?php echo get_the_ID(); ?></h2>
to this: <h2>Forum: <?php echo basename(get_permalink()); ?></h2>
That works great! Thank you so much.
How do I add the post content to the first post of the new topic? I can’t work out how to target the first post with add_action().
How do I append the post post title to the forum id? It looks like this (Forum: 67) it might be better if it was post-title-67 e.g starwars-67
I would like the first forum topic created to be displayed on the post page. I currently achieve this by:
Add new block
[/] shortcode
Add the bbpress shortcode
[bbp-single-topic id=40]
The id is found when edititing the topic in the address bar https://site/wp-admin/post.php?post=40&action=edit
Is there a way of automating this task?
the default is horizontal – do you you have a theme, plugin or code that is changing this?
The code is:
add_action ('template_redirect', 'forum_security');
function forum_security(){
$roles = wp_get_current_user()-> roles;
if(is_singular( array( 'forum', 'topic' ) )){
if(!is_user_logged_in()){
wp_redirect('/join');
exit;
}else{
if(current_user_can('administrator')){
return;
}elseif(!in_array('pmpro_role_1', $roles)){
wp_redirect('/product/channel-mcgilchrist');
exit;
}
}
}
}
I have written the below script to restrict users to access forums or topics. Here are the conditions:
1. If user in not logged in will be redirected to “Join” page.
2. If user is logged in but doesn’t have “pmpro_role_1” role, he will be redirected to “Product Page”.
3. If a user is the administrator, he can view the page.
The problem here is for topics in forum it is working except the latest created topic. And it is taking user to “Join” page even if the user is logged in and have the “pmpro_role_1”. What is happening here?
Please help.
add_action ('template_redirect', 'forum_security');
function forum_security(){
$roles = wp_get_current_user()-> roles;
if(is_singular( array( 'forum', 'topic' ) )){
if(!is_user_logged_in()){
wp_redirect('/join');
exit;
}else{
if(current_user_can('administrator')){
return;
}elseif(!in_array('pmpro_role_1', $roles)){
wp_redirect('/product/channel-mcgilchrist');
}
}
}
}
Yes, thank you a simple theme to demonstrate will be fine. I’m not too sure how to use hooks and I get very confused with how to use short codes and php together.
Put this in your child theme’s function file –
ie wp-content/themes/%your-theme-name%/functions.php
where %your-theme-name% is the name of your theme
or use
Code Snippets
add_filter( 'bbp_new_topic_pre_content', 'rew_strip_tags' );
add_filter('bbp_edit_topic_pre_content', 'rew_strip_tags' );
add_filter( 'bbp_new_reply_pre_content', 'rew_strip_tags' );
add_filter('bbp_edit_reply_pre_content', 'rew_strip_tags' );
function rew_strip_tags ($content) {
$content = strip_tags($content);
return $content ;
}