<?php if(!empty(get_the_author_meta(\'facebook\',$part_cur_auth_obj->ID))){?><a href="<?php echo get_the_author_meta(\'facebook\',$part_cur_auth_obj->ID);?>"><i class="fab fa-facebook-f"></i></a><?php}?>
我把上面的代码放在第一行(最初是在第90行的某个地方,在那里也出错了),在我的
author.php
该行上的模板。
分析错误:语法错误,作者中出现意外“}”。php在线1
注:$part_cur_auth_obj
只是我特定主题的作者对象。
有人能解释一下我做错了什么吗?是不是有什么特别的get_the_author_meta
? 根据我的编辑,我似乎有适当数量的括号和花括号。。。所以我不知道为什么}
是意外的。
我知道对于if/else
但我也试过了,但没有成功,所以我不确定到底发生了什么。
根据这一点也可以看出-https://stackoverflow.com/questions/3812526/conditional-statements-in-php-code-between-html-code - 这两种语法都应该起作用。
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
让我们将其展开为更具可读性的形式:
<?php
if ( ! empty( get_the_author_meta( \'facebook\', $part_cur_auth_obj->ID ) ) ) {
?><a href="<?php echo get_the_author_meta(\'facebook\', $part_cur_auth_obj->ID);?>">
<i class="fab fa-facebook-f"></i>
</a><?php}?>
结束最后一行是个问题。花括号周围没有空格,这会导致错误。把它改成
<?php } ?>
它会很好地工作。
所以规则是你应该在<?php
标签-否则会导致问题。您可以在此处阅读有关此主题的更多信息:http://php.net/manual/en/language.basic-syntax.phptags.php
如果你把PHP和HTML结合起来,我想最好使用:表示块而不是括号。更容易跟踪所有这些endif
sendwhile
s等比}
.