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

时间:2017-12-24 22:16:00

标签: php html css wordpress

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

所以这里是我试过的测试代码,当浏览器中的页面被浏览时,它会正确显示登录用户头像的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;">

谢谢你们!

1 个答案:

答案 0 :(得分: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 in DC&#39;评论)在/之前和之后检查斜杠(wp-content)它可能有一个额外的(或一个需要的)取决于{是{ {1}}和site_url()已有斜杠。