Gar*_*ods -1 php function echo
我的代码有问题.我很确定它与报价有关.让我来证明一下.
这很好用:
<?php if ( $is_latest_post ) echo '
hello world
'; ?>
Run Code Online (Sandbox Code Playgroud)
这不起作用:
<?php if ( $is_latest_post ) echo '
<a class="recent<?php $category = get_the_category(); echo $category[0]->category_nicename; ?>" href="<?php bloginfo('url'); ?>/<?php echo $category[0]->category_nicename; ?>"><?php echo $category[0]->cat_name; ?></a>
'; ?>
Run Code Online (Sandbox Code Playgroud)
为什么不起作用?我可以改变什么才能使它发挥作用?a class代码的一部分完全在if ( $is_latest_post )语句之外.感谢我刚开始用PHP学习编码.
当您将字符串封装在单引号中时,它会将该字符串视为文字.PHP不会解析该字符串中的代码.
你需要的是串联.点运算符.允许您将多个字符串混合在一起.
<?
if ( $is_latest_post ) {
$category = get_the_category();
echo '
<a class="recent' . $category[0]->category_nicename . '" href="' . bloginfo('url') . '/'. $category[0]->category_nicename . '">' . $category[0]->cat_name . '</a>';
}
?>
Run Code Online (Sandbox Code Playgroud)
您可以将任意多个事物连接在一起.
<?
$a = 1;
$b = 2.0;
$c = 'string';
$d = function_call();
$string = $a . $b . 'random text' . $c . $d;
?>
Run Code Online (Sandbox Code Playgroud)