How to get metadata (in my case mail) of users who have a certain set of metadata?

It’s a really hectic day for me. Okay, I need to choose all users with some role, with and with some meta_data: subscriber, user_country, and user_sector for example.

In the beginning, I have several parameters: $role, $sector, $country Now I need to filter users by these parameters. At first, the task was to filter users by roles only. I did it this way:

 $role = get_option('choosed_users_role'); //I get this from the database
 $subscribers = get_users( $role );
 $emails      = array ();
 foreach ( $subscribers as $subscriber ){
     $emails[] = $subscriber->user_email;
 }

This way I get all mail of the users with the specific role. When it became necessary to add two more parameters I thought that in this way I can add other parameters for filtering.

$subscribers = get_users( $role) && get_users( $sector) && get_users(  user_country);

But it’s not right I see now. What’s the correct way to do this? Please help to figure out with it.

PS:

By advice Rup I tried using WP_User_Query:

$params = array(
                'meta_query' => array(
                    'relation' => 'AND',
                    array(
                        'key'     => 'user-country',
                        'value'   => '17',
                        'type'    => 'numeric',
                    ),
                    array(
                        'key'     => 'user-sector',
                        'value'   => '602',
                        'type'    => 'numeric',
                    )
                )
            );

But not the result. I think the WP_User_Query does not work because I try to get a custom ACF meta field.

$299 Affordable Web Design WordPress

This article was republished from its original source.
Call Us: 1(800)730-2416

Pixeldust is a 20-year-old web development agency specializing in Drupal and WordPress and working with clients all over the country. With our best in class capabilities, we work with small businesses and fortune 500 companies alike. Give us a call at 1(800)730-2416 and let’s talk about your project.

FREE Drupal SEO Audit

Test your site below to see which issues need to be fixed. We will fix them and optimize your Drupal site 100% for Google and Bing. (Allow 30-60 seconds to gather data.)

Powered by

How to get metadata (in my case mail) of users who have a certain set of metadata?

On-Site Drupal SEO Master Setup

We make sure your site is 100% optimized (and stays that way) for the best SEO results.

With Pixeldust On-site (or On-page) SEO we make changes to your site’s structure and performance to make it easier for search engines to see and understand your site’s content. Search engines use algorithms to rank sites by degrees of relevance. Our on-site optimization ensures your site is configured to provide information in a way that meets Google and Bing standards for optimal indexing.

This service includes:

  • Pathauto install and configuration for SEO-friendly URLs.
  • Meta Tags install and configuration with dynamic tokens for meta titles and descriptions for all content types.
  • Install and fix all issues on the SEO checklist module.
  • Install and configure XML sitemap module and submit sitemaps.
  • Install and configure Google Analytics Module.
  • Install and configure Yoast.
  • Install and configure the Advanced Aggregation module to improve performance by minifying and merging CSS and JS.
  • Install and configure Schema.org Metatag.
  • Configure robots.txt.
  • Google Search Console setup snd configuration.
  • Find & Fix H1 tags.
  • Find and fix duplicate/missing meta descriptions.
  • Find and fix duplicate title tags.
  • Improve title, meta tags, and site descriptions.
  • Optimize images for better search engine optimization. Automate where possible.
  • Find and fix the missing alt and title tag for all images. Automate where possible.
  • The project takes 1 week to complete.