我正在尝试将用户元配置文件中的头像图像作为模板的背景



这对大多数人来说可能很简单,但是我将头发拉出大声笑

因此,这是我尝试过的测试代码,它将显示url字符串"/uploads/files/files/file1.jpg",当时在浏览器中查看页面时正确地登录了用户的avatar:

 <?php 
 $user_id = get_current_user_id(); 
 $key = 'user_avatar'; 
 $single = true; 
 $user_last = get_user_meta( $user_id, $key, $single ); 
 echo $user_last; 
 ?>

显示我要用作背景图像的图像的结尾URL,但也许我需要完整的FQDN路径?

因此,当我将此代码添加到主体上时,它不起作用(尝试了许多变体和回声,报价,无引号等),但显然做错了什么:

<body style="background-image:url(<?php get_user_meta('$user_id, $key, $single');?>); background-repeat: no-repeat;">

谢谢你们!

WordPress通常在wp-content子目录中具有uploads文件夹,因为它的默认安装。要获取初始目录路径,请使用site_url()(https://codex.wordpress.org/function_reference/site_url)

,代码将是:

 <?php 
 $user_id = get_current_user_id(); 
 $key = 'user_avatar'; 
 $single = true; 
 $user_last = get_user_meta( $user_id, $key, $single ); 
 //echo $user_last; 
 ?>
<body style="background-image:url('<?php echo site_url().'/wp-content'. $user_last; ?>'); background-repeat: no-repeat;">

**还需要添加一个echo来输出最终的串联字符串。

edit :(基于DC评论中的Dave)检查wp-content之前和之后检查斜杠(/),它可能具有额外的(或需要),具体取决于site_url()$user_last是否已经具有斜线。

最新更新