Как проверить массив полей $curauth?


Как проверить массив пользовательских данных $curauth? Мне нужно проверить, есть ли данные в одном или нескольких полях $curauth, и если да, распечатайте какой-нибудь html. Это приводит к ошибке массива:

    <?php if ( !empty( array ( $curauth->facebook, $curauth->linkedin, $curauth->twitter)))
{ echo 'echo me if any $curauth info exists for the fields in the array above'; } ?>

Обновление - это работает:

<?php  if (!empty ($curauth->facebook) || ($curauth->linkedin) || ($curauth->twitter))
{ echo 'echo me if any $curauth info exists for the fields in the array above';  }  ?>
 2
Author: markratledge, 2011-12-24

1 answers

Попробуйте

<?php 
if ( !empty( array ( $curauth->facebook ) ) || 
     !empty ( array ( $curauth->linkedin ) ) || 
     !empty( array( $curauth->twitter ) ) )
{ 
    echo 'echo me if any $curauth info exists'; 
} 
?>

Примечание: Все это может быть на меньшем количестве строк, я просто добавил дополнительные разрывы строк, чтобы все это соответствовало, чтобы избежать горизонтальной полосы прокрутки.


Обновление:
Чтение Авторских шаблонов заставило меня понять, что как только вы установите переменную $curauth, например

$curauth = (get_query_var('author_name')) ? get_user_by('slug', get_query_var('author_name')) : get_userdata(get_query_var('author'));

Вы должны быть в состоянии использовать это вместо этого:

<?php 
if ( !empty ( $curauth->facebook ) || 
     !empty ( $curauth->linkedin ) || 
     !empty ( $curauth->twitter ) )
{ 
    echo 'echo me if any $curauth info exists'; 
} 
?>
 1
Author: stealthyninja, 2011-12-24 16:54:25