I realise it’s something you’re planning to add in the future but I urgently need to be able to email users when someone comments on their single media page (or in the lightbox) so decided to see if I can write my own plug-in for this.
I’m getting there but I can’t work out what action/filter I need to hook into to trigger the email eg. example from the WordPress Codex –
add_action( ‘wp_insert_comment’,’codex15766_comment_inserted’, 99, 2 );
… obviously I need to replace wp_insert_comment with some other action/filter from Mediapress (or even Buddypress). Do you have any hints/suggestions as what that might be?
(I did try looking at how/when notifications were triggered since I assume emails could follow the same path but unfortunately that didn’t seem very obvious either.)
With many thanks in advance.
Thank you for asking.
Currently, the commenting is not handled in the best way in MediaPress.
Here is how we approach it.
1. Any comment in the activity stream is handled by Your theme as normal BuddyPress Activity comment. To check if it was a MediaPress upload, check for the parent activity(top level’s) type.
2. Commenting on a single gallery, single media page and in the lightbox is handled by MediaPress. A reply on some’s comment is a BuddyPress Activity comment while a complete new comment is stored as activity update(for user/group depending on media component).
In other words, when someone writes a comment on a media(in lightbox,single page) or a gallery(on single page), It can be stored as an activity update or an activity comment. If the comment is a reply to someone else’s comment on the media, it is stored as activity comment.
If it is a brand new comment directly on the media/gallery, It is stored as an activity update.
I am not sure if the above makes much sense to you as the current implementation lacks simplicity for commenting.
It is on our list for next major release.
Thank you as always for your prompt reply and actually yes that does all make sense as I’d noticed that a brand new comment on single media was shown as media update and I couldn’t quite work out why but at least I understand some of the logic behind that now.
Assuming that’s the (main) action I want to target, what action/filter should I be hooking into to send my email?
As you say, comments in the activity stream aren’t a problem as those are already handled, including emails (and could be refined if necessary).
Of course, I realise your new release will probably make my efforts redundant but the site is already live and members need this feature urgently… plus I’ve set myself the challenge now and really want to see if I can make it work 😉
With many thanks again.
Hi again Brajesh
Just wondering if you’ve had any thoughts on this and/or whether I made myself clear.
I’ve now almost completed a plug-in which works with WP ULike to send out email notifications when someone likes various activities (including media) and I really want to add the same feature when someone comments on a single media page or in the lightbox.
So for example, for WP Ulike it works as follows –
add_action( ‘wp_ulike_after_process’, array( $this, ‘notify_likes’ ), 10, 4 );
All(?) I need to do now is figure out which action to use instead of wp_ulike_after_process in order to trigger emails for Mediapress comments too.
I’ll keep looking but if you have any thoughts, I’d be very grateful… and of course, if you’re interested, very happy to share my code once it’s complete 😉
Sorry for the delayed reply.
The activity type to look for is
and you should hook to
This action gives you access to activity object.
Please do note that make sure to test against the $activity->user_id and logged in user id. You do not want to notify the user on their own upload etc.
Another thing to consider your attached function will succeed on:-
– Any gallery activity(new media added to gallery and posted in activity stream)
– New media uploaded from activity stream
– New post on a media in light box
– New post on a gallery on single gallery page
– New post on a media on single media page
For replies, the correct approach is to check for the parent activity(top level)’s type and see if it is
Like I have said earlier, In my quest to maximize the usage of inbuilt BP features, I believe using activity for comment was a mistake and I will be correcting it in the next major milestone and re-implement the whole commenting.
Thank you so much Brajesh. That’s really helpful and I do agree it’s not an easy task working around all the possible options available in BP.
To keep things simple for the end users (and myself!), I restrict how/where they can can comment and/or like so for example, they can only comment on media on the single media page or in the lightbox which seems more logical to me personally and also avoids some of the scenarios that you’ve mentioned above but obviously if you’re working on a more generic plug-in you may have to cater for end-users who find that too restrictive 😉
Good luck and will look forward to seeing the results of your efforts in due course… even if I may have to revise my own solutions when the next release comes out!
Unfortunately hooking to bp_activity_after_save is triggering twice and therefore I am getting duplicate emails sent out.
Not very helpfully, I can’t post my code right now but if you have any suggestions as to what might be happening or a work around, I would be hugely grateful.
Note: I’ve tested the entire code with a different hook (ie. wp_ulike_after_process) which I know only works once and it all works fine so I don’t think it’s the code itself that’s the issue, perhaps just the wrong hook…
You must be logged in to reply to this topic.