如何让我的 PHP 代码在 Wordpress 的 img src 中运行?

How can I get my PHP code working inside img src in Wordpress?

我一直在尝试在 Wordpress 网站的文章缩略图自定义字段中获取图标的小图像。但是图片本身没有加载,但网站知道图片应该在那里。

这是我现在的 PHP 代码

<?php 
$filepath= "<?php bloginfo('template_url'); ?>/img/downarrow.png";
$meta_value = get_post_meta( $post->ID, 'Magamistuba', true ); 
            if  (!empty( $meta_value )) {echo   '<img src="'.$filepath.'">'.$meta_value;}
            else {} 

?>

这张图片显示了它在控制台中的显示方式。

这是我尝试时的样子

$filepath = bloginfo('template_url') ."/img/downarrow.png";

<?php 
$filepath= bloginfo('template_url') ."/img/downarrow.png";
$meta_value = get_post_meta( $post->ID, 'Magamistuba', true ); 
            if  (!empty( $meta_value )) {echo   '<img src="'.$filepath.'">'.$meta_value;}
            else {} 

您已经处于 PHP 模式,所以这就是您的写法。

此外,永远不要通过关闭 PHP 标签来结束 PHP 脚本。

您不需要再写 <?php

而是这样写就足够了:

$filepath = bloginfo('template_url') . '/img/downarrow.png';
<?php 
    $filepath= bloginfo('template_url') . "/img/downarrow.png";
    $meta_value = get_post_meta( $post->ID, 'Magamistuba', true );
    if  (!empty( $meta_value )) {echo   '<img src="'.$filepath.'">'.$meta_value;}
    else {}
?>

那是因为 $filepath 是字符串而不是 PHP 代码。

您必须将代码放在字符串之外 concatenate

<?php 
$filepath = bloginfo('template_url') ."/img/downarrow.png";
$meta_value = get_post_meta( $post->ID, 'Magamistuba', true ); 

if  (!empty( $meta_value )) {
    echo   '<img src="'.$filepath.'">'.$meta_value;
}

?>

试试这个。

$filepath = get_template_directory_uri()."/img/downarrow.png";