Let’s unwrap it to more readable form:
<?php
if ( ! empty( get_the_author_meta( 'facebook', $part_cur_auth_obj->ID ) ) ) {
?><a href="https://wordpress.stackexchange.com/questions/305172/<?php echo get_the_author_meta("facebook', $part_cur_auth_obj->ID);?>">
<i class="fab fa-facebook-f"></i>
</a><?php}?>
End the last line is a problem. There are no spaces around curly bracket and it causes the error. Just change it to <?php } ?>
and it will work fine.
So the rule is that you should put a space after <?php
tag – it will cause problems otherwise. You can read more on this topic here: http://php.net/manual/en/language.basic-syntax.phptags.php
PS. If you combine PHP and HTML, it is better to use : notation for blocks and not brackets, I guess. It’s easier to keep track with all those endif
s, endwhile
s and so on than with a lot of }
.