我试图使用来自用户元配置文件的头像图像作为模板的背景

问题描述 投票:0回答:1

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

所以这里是我试过的测试代码,当在浏览器中查看页面时,它会正确显示登录用户头像的url字符串“/uploads/files/file1.jpg”:

 <?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;">

谢谢你们!

php html css wordpress
1个回答
0
投票

WordPress通常在uploads子目录中有wp-content文件夹,因为它是默认安装。要获取初始目录路径,请使用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来输出最终的连接字符串。

编辑:(根据Dave在DC的评论中)在/之前和之后检查斜线(wp-content)它可能有一个额外的(或一个需要的)取决于site_url()$user_last是否已经有斜线。

© www.soinside.com 2019 - 2024. All rights reserved.