Search Results for 'notification user id'
-
Search Results
-
Topic: Bp custom Menu
I posted up on this a little while ago, and danbp was a boss and helped me out, and I thought I could get it to work, but the end fix ended up unfortunately not really fixing the problem.
I’m having difficulty with a profile tab that is supposed to link to a separate forums profile (wpForo) via a dynamic link that recognizes the displayed user’s page. danbp set me up with something like the below, I changed a bit to make it work better…
function tab_custom_link_to_page() { if ( bp_is_page( 'BP_MEMBERS' ) || bp_is_activity_component() || bp_is_profile_component () || bp_is_groups_component () || bp_is_notifications_component () || bp_is_messages_component () || bp_is_settings_component () || bp_is_following_component () || bp_is_followers_component () ) { $link = bp_get_root_domain() . '/community/profile/'. bp_get_displayed_user_username(); echo '<li><a href="'. $link .'">Community</a></li>'; } } add_action( 'bp_member_options_nav', 'tab_custom_link_to_page', 10 );but I couldnt change the location of the tab, using code or BuddyBoss Reorder Tabs plugin, which is an issue because the theme I’m using (BuddyBoss Boss.) hides the tabs at the end under a clickable “…”. I spoke to someone at BuddyBoss and they told me I wouldn’t be able to move the tab unless it was registered as a “bp_core_new_nav_item( array(“, which requires an array like:
function add_communityprofile_tab() { global $bp; bp_core_new_nav_item( array( 'name' => 'Community', 'slug' => 'community', 'parent_url' => $bp->displayed_user->domain, 'parent_slug' => $bp->profile->slug, 'position' => 200, 'default_subnav_slug' => 'community' ) ); } add_action( 'bp_setup_nav', 'add_communityprofile_tab', 100 );which works fine until I have to link it, apparently I can’t use the tab array/slug thing to reach a dynamic link without the same “$bp->displayed_user->domain”. The link I’m trying to reach is currently at:
http://localhost/wordpress/community/profile/*displayeduser*/
from:
http://localhost/wordpress/users/*displayeduser*/
If nobody has any helpful suggestions otherwise, I’m thinking the best route might be to have the page
http://localhost/wordpress/users/*displayeduser*/community/
redirect to
http://localhost/wordpress/community/profile/*displayeduser*/
via a dynamic redirect…I’m trying to figure out how to do that.
If anyone has any helpful advice it would be super appreciated. My boss wants me to take the site live this week and I think I’m just about there…aside from this huge disconnect between the two separate user profiles…not too bad for someone who has barely any idea what they’re doing. but yeah, sorry for the super long post. thanks for reading and hopefully you can throw me a line.
– Andrew
I am going to create a new custom notification for a user that if someone mention the user in any review with @, the related user will get a email and a new notification has been generated, this notification I created dynamically, but I get empty message showing on user profile notification area, I checked the db_table for notification as well it has proper entries as well,
$description = apply_filters_ref_array( 'bp_notifications_get_notifications_for_user', array( $notification->component_action, $notification->item_id, $notification->secondary_item_id, 1, 'string', $notification->component_action, $notification->component_name, $notification->id ) );In the above line I found that ‘bp_notifications_get_notifications_for_user’ filter return me the empty description of my notification from line no 523 in function “bp_get_the_notification_description” of file buddypress/bp-notifications/bp-notifications-template.php
Below is my custom code for generate notification:
//add new notification mention_in_comment function mention_in_comment_filter_notifications_publish_post_get_registered_components( $component_names = array() ) { // Force $component_names to be an array if ( ! is_array( $component_names ) ) { $component_names = array(); } // Add 'custom' component to registered components array array_push( $component_names, 'mention_in_comment' ); // Return component's with 'custom' appended return $component_names; } add_filter( 'bp_notifications_get_registered_components', 'mention_in_comment_filter_notifications_publish_post_get_registered_components' ); //show new notification text function bp_mention_in_comment_format_buddypress_notifications( $action, $item_id, $secondary_item_id, $total_items, $format = 'string' ) { // New custom notifications if ( 'mention_in_comment_action' === $action ) { $comment_info = get_comment( $item_id ); $author_name = ($comment_info->user_id) ? get_the_author_meta( 'display_name', $comment_info->user_id ) : $comment_info->comment_author; $custom_title = $author_name. ' mentioned you in a new comment on '.get_the_title($comment_info->comment_post_ID); $custom_link = get_comment_link( $comment_info->comment_ID ); $custom_text = $author_name. ' mentioned you in a new comment: <br/>' . $comment_info->comment_content; // WordPress Toolbar if ( 'string' === $format ) { $return = apply_filters( 'mention_in_comment_filter', '' . esc_html( $custom_text ) . '', $custom_text, $custom_link ); // Deprecated BuddyBar } else { $return = apply_filters( 'mention_in_comment_filter', array( 'text' => $custom_text, 'link' => $custom_link ), $custom_link, (int) $total_items, $custom_text, $custom_title ); } //var_dump($return); return "Just say hello."; } } add_filter( 'bp_notifications_get_notifications_for_user', 'bp_mention_in_comment_format_buddypress_notifications', 1, 5 ); //add notification to the mentioned user $notification = bp_notifications_add_notification( array( 'user_id' => $user_id, 'item_id' => $comment->comment_ID, 'secondary_item_id' => $user_id, 'component_name' => 'mention_in_comment', 'component_action' => 'mention_in_comment_action', 'date_notified' => bp_core_current_time(), 'is_new' => 1) );Could you please let me knwo what is wrong with my code or something else, how can more debug and solve this.
I installed https://wordpress.org/plugins/postman-smtp/ on my WP (v 4.6) + BuddyPress (v 2.6.2) site, then configured it to use my Gmail account’s SMTP server settings.
The emails sent by the site uses the SMTP settings when:
– A member registers and PMPRo (https://tl.wordpress.org/plugins/paid-memberships-pro/) sends out an email confirmation
– Emails sent using the plugin (https://wordpress.org/plugins/email-users/)(I can see these sent emails in the “Sent” folder of my Gmail account.)
However, when BuddyPress sends out an email (e.g. email notification for friend request, etc.), it seems to ignore the SMTP server settings I have configured. Instead, it uses the server’s default.
How do I make BuddyPress email notifications send using my Gmail SMTP server settings?
I was able to create my custom email notification. I would like to add an option in the settings so that user can enable/disable this email notification. Has anyone successfully implemented like this before? Any ideas on how to do this?
Hi,
I’m working on a wordpress website, and using Buddypress. I wanted to add posts notifications and it worked fine, except when I tried to filter them. First you need to know how I want to filter them.
– I’ve a profile field named ‘Field’ which is a dropdown list with 5 options.
– I have also 5 post categories with the exact names of the ‘Field’ values.
– When a post is added, If it has (e.g. A,B,C) categories I want a notification for every user who has his ‘Field’ value is equal to A,B or C.Here is my code:
foreach (users as $user) {
$acc_type = xprofile_get_field_data(‘Field’, $user->ID);
if (in_category($acc_type,$post_id)) {
bp_notifications_add_notification( array(
‘user_id’ => $user->ID,
‘item_id’ => $post_id,
‘component_name’ => ‘custom’,
‘component_action’ => ‘custom_action’,
‘date_notified’ => bp_core_current_time(),
‘is_new’ => 1,
) );
}}
I created many custom notifications on my theme, such as notification on post comments, but after a post is commented and the notification is sent, the listing of posts and of other custom post types display a 404 page.
This happens only on the listing page of posts, not on the single post pages.
I really hope in an help.
This is my code: