@Valery23

Как вывести разный контент в зависимости от заполненных мета полей пользователя?

Есть сайт на WordPress. Хочу показывать контент в зависимости от заполненных мета полей пользователя. В данном коде идет проверка по last_name, как сделать, что бы проверка была еще и по first_name, kurs_oblast, kurs_raion, kurs_vozrast, kurs_bpsch, kurs_skdetei, kurs_number, kurst_country?
<?php 
global $current_user;

wp_get_current_user(); // wordpress global variable to fetch logged in user info

$userID = $current_user->ID; // logged in user's ID
$havemeta = get_user_meta($userID, 'last_name', true); 

if ($havemeta) {
    echo "Yes";
} else {
    echo "No";
}
?>
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
@uni_rush
global $current_user;

wp_get_current_user();

$userID = $current_user->ID;

$required_meta = array('last_name', 'first_name', 'kurs_oblast', 'kurs_raion', 'kurs_vozrast', 'kurs_bpsch', 'kurs_skdetei', 'kurs_number', 'kurst_country');

$all_meta_for_user = array_map( function( $a ){ return $a[0]; }, get_user_meta( $userID ) );

$intersected_meta = array_intersect_key($all_meta_for_user, array_flip($required_meta));

$has_empty_meta = array_search('', $intersected_meta);

if (count($intersected_meta) === count($required_meta) && !$has_empty_meta) {
	echo "Yes";
}
else {
	echo "no";
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы