How do I check an array of $curauth user data? I need to check to see if one or more $curauth fields have data, and if so, print some html. This throws an array error:

    <?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'; } ?>

Update – this works:

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

1 Answer
1

Try

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

Note: This can be all on fewer lines, I’ve just put in additional line-breaks to make it all fit to avoid a horizontal scrollbar.


Update:
Reading up on Author Templates made me realise that once you’ve set the $curauth variable, e.g.

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

you should be able to use this instead:

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

Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *