我正在尝试在echo中执行另一个PHP函数。我可以改变
<?php echo home_url(); ?>
到
"$home_url"
并且有效。
但我不知道如何更改以下内容:
<?php $categories = get_the_category();
$cat_slug = $categories[0]->slug;
echo "$cat_slug" ?>
这是我的完整代码,使用HEREDOC代替“”:
<?php
if( is_page( 3769 ) ):
echo 'ANOTHER LOGO';
else:
echo <<<HTML
<a href="$home_url"><img border="0" src="http://WEBSITE.COM/logo<?php $categories = get_the_category();
$cat_slug = $categories[0]->slug;
echo "$cat_slug" ?>
.png" width="500" height="100"></a>
HTML;
endif;
?>
谢谢。
答案 0 :(得分:1)
从字符串中取出函数调用:
<?php
if( is_page( 3769 ) ):
echo 'ANOTHER LOGO';
else:
$categories = get_the_category();
$cat_slug = $categories[0]->slug;
echo <<<HTML
<a href="$home_url"><img border="0" src="http://WEBSITE.COM/logo{$cat_slug}.png" width="500" height="100"></a>
HTML;
endif;
?>
答案 1 :(得分:1)
通常你不应该在echo中执行任何函数。最好事先做好所有“准备工作”并回应结果。这样,稍后拆分逻辑和演示文稿就更简单了
<?php
if( is_page( 3769 ) ):
echo 'ANOTHER LOGO';
else:
$categories = get_the_category();
$cat_slug = $categories[0]->slug;
echo <<<HTML
<a href="$home_url"><img border="0" src="http://WEBSITE.COM/logo{$cat_slug}.png" width="500" height="100"></a>
HTML;
endif;
?>
答案 2 :(得分:0)
使用单引号,"$cat_slug"
关闭第一个(“)
src="http://WEBSITE.COM/logo<?php $categories = get_the_category();
$cat_slug = $categories[0]->slug;
echo "$cat_slug" ?>
将其更改为:
src='http://WEBSITE.COM/logo<?php $categories = get_the_category();
$cat_slug = $categories[0]->slug;
echo "$cat_slug" ?>'
答案 3 :(得分:0)
查看您提供的代码块我已经使用了类似的内容
<?php
if( is_page( 3769 ) ):
echo 'ANOTHER LOGO';
else:
$categories = get_the_category();
$cat_slug = $categories[0]->slug;
echo '<a href="$home_url"><img border="0" src="http://WEBSITE.COM/logo'.$cat_slug.png.'" width="500" height="100"></a>'
endif;
?>
否则你正在做一个双回声,这可能会导致一些问题。