class emailer {
static function notifyHeart($post_ID) {
$interests = get_user_meta(get_current_user_id(), 'interests');
$to = get_the_author_meta( 'user_email', get_current_user_id() );
$post = get_post($post_ID);
foreach($interests as $interest) {
if(has_tag($interest, $post)) {
$email = $to;
mail($email, "An article about Heart", 'A new post has been published about heart.');
break;
}
}
}
}
add_action('publish_post', array('emailer', 'notifyHeart'));
Here’s a reworked example. It retrieves all the tags you have in database as meta, checks each of them & if it matches the one in that post’s id, it will send the mail & break out of the loop.
Related Posts:
- Remove Actions/Filters added via Anonymous Functions
- Programatically add options to “add new” custom field dropdown
- Excluding iPad from wp_is_mobile
- Use ‘add_theme_support’ instead of ‘add_custom_image_header’ In WordPress 3.4
- Generating Responsive Background Image Sizes in PHP
- Replacing select2 in admin backend for all selects
- difference between add_object_page and add_menu_page
- How to hook into the quick edit action?
- Override a class function to include a custom template
- How to auto-update child posts whenever the parent post is updated?
- I created a child theme and it doesn’t work for some of the css files
- Make WordPress size and name images for Retina.js
- the_post_thumbnail fallback using hooks
- How to detect first visit of a user?
- How to programmatically set a menu to be the Primary Menu?
- Redirect a list of URLs to another URL, using functions.php
- Override woocommerce wc-class function
- Trying to inject twitter metadata into using wp_head action in functions.php – get_the_excerpt() returns null
- How to hide, and not to remove the attributes metabox?
- how to edit functions.php in a child theme
- Only display link to author social media when it exists [closed]
- Get current page_id before loop, in functions.php
- Menu fallback “menu_class” rendering a “div” instead of a “ul”
- Create single.php for specific tag by tag id or name
- custom rss templete
- How can i disable auto save & revisions with `function.php` in wordpress?
- Remove elementor header and display default theme header
- Move ‘current-menu-item’ class on #adminmenu li from Posts to Pages for Taxonomy Edit Screen
- Insert image in WordPress with HTML5 tag and caption function
- How to construct function for applying filter?
- WordPress on AWS Auto scaling and ELB giving 503
- enqueue styles for only mobile wp
- WordPress PHP Conflicting User Sessions
- Registration Hooks don’t appear to be working
- is_author(get_current_user_id()) returns false when author id and user id match
- How to use selected WordPress functions?
- Change slug shortlink “/?p=” base in WordPress
- Exclude category from shortcode
- unnecessary request call for js and css after calling wp_dequeue_script
- Custom HTML markup
- Functions Error: Impacting Galleries
- How to use author meta in shortcode?
- How to cut off question mark in url with functions.php
- Undefined variable error in new function
- How to rewrite wordpress search to work on specific category
- Theme JS is available but theme CSS isn’t
- Genesis Framework: How to exclude a specific author from archive custom loop
- How to Add Shortcode to html img code?
- Logout Redirect and also WP-login.php Redirect
- Proper Way to Load stylesheet on Condition
- How to pass variables from one function to another or combine functions
- How to create a shortcode out of a php function
- Is it possible to use add_filter in an included file in the child theme’s functions.php?
- Insert Content Before div#main from the functions.php File
- Insert function insde body tag
- How do I place a function in a standalone page?
- Problem in using Customizer
- Internet Explorer opens links to .msi files as text in a new tab
- call wp_insert_user in custom class doesnt work
- I would like single.php to act just like index.php
- Does WordPress has an automatic link parse function?
- Conditional custom menu?
- What function actually renders the wp_admin_bar ? How can I call it?
- Do I Need to Prefix Variables Inside Functions?
- redirecting a URL if accessed directly
- Detect Ajax call inside pre_get_posts function
- Render page with specific id from functions.php
- Display Child Pages if no child Exists Display Siblings
- How to show ACF value under post/page title in wp-admin
- What is wp_get_post_tags for media tags?
- Filter works on last selection but no others
- How do I trigger WP CLI DB export using a PHP function?
- WordPress does not load jQuery
- get_current_user_id() always return 0 in if else statement
- How do i tweak my wp Post title base on category of the post
- I’m creating a online store for my website, my aim is to add description to products in home page only how can i achieve it?
- Menu and category highlighting for a single post
- Redirect specific author posts to another url
- Show number of sold products but be first for less than 2
- How to retrieve image IDs from shortcode content?
- I need to ‘wp_dequeue_script’ and ‘styles’ and ADD a bunch of other css and js
- True email confirmation for registration (keeping unvalidated users from user table)
- Code I am placing in the wp_footer is going outside the entire HTML frame!
- admin-ajax.php & my wp-admin folder url showing in header
- WordPress – Custom Nav menu for logged in users – Shopkeeper theme
- Change post count on tag/terms pages to 10
- How to use if (is_page_template (”))
- wordpress function through ajax not being called
- How to assign results to variables?
- Hide certain post types from editors
- Automatically add custom fields (post_meta) to all published posts, hourly, via wp_cron?
- How to mirror exactly the left admin menu on front end?
- Gravity Forms After Submission – GFFormsModel::update_lead_field_value?
- Fatal error after changes to functions.php, even with original file
- update_post_meta after form is submited
- Make a table out of meta box
- Should I use `get_stylesheet_uri()` or `get_template_directory_uri()` when calling my CSS Stylesheet?
- Missing argument 2
- Problem with removing characters “<” – WpAllImport
- Using input_attrs() Multiple Times Within One Customizer Control