【问题标题】:Image URL appears in a wrong place in WordPress shortcode output图像 URL 出现在 WordPress 短代码输出中的错误位置
【发布时间】:2016-10-11 10:15:51
【问题描述】:

我正在尝试制作一个用于显示来自 buddypress 的登录用户头像的简码

// user avtar
function user_avatar() {
    $user_avatar_url = bp_loggedin_user_avatar('type=full&html=false'); 
    $user_image = '<img src="' . $user_avatar_url  . '"/>';
    return $user_image;
}
add_shortcode('avatar', 'user_avatar');

但当我尝试插入简码 [头像] 时,HTML 输出如下所示:

http://localhost/.../images/bp_default_avatar.jpg <img src=""></img>

图片 url/src 不知何故出现在“img”标签之前?

【问题讨论】:

  • 你有什么错误吗?
  • 不,只是输出格式错误
  • 试试echo 而不是return
  • 已经试过了,结果一样
  • 试试这个$user_image = "&lt;img src=\"".$user_avatar_url."\"/&gt;";

标签: php wordpress shortcode


【解决方案1】:

尝试使用$userimage = "&lt;img src='$user_avatar_url' /&gt;"; 而是

【讨论】:

  • 这样他就需要逃离里面的“”
  • 不确定在 ' 和 " 之间切换会有所不同
  • 无论如何,因为我现在有点无法选择,我也尝试了那个,正如预期的那样 - 又是同样的事情
【解决方案2】:

显然这是 buddypress 的问题,我改变了一些东西,现在它正在工作

// user avtar
function user_avatar() {
$userid = bp_loggedin_user_id();
$user_avatar_url = $avatarurl = bp_core_fetch_avatar( array( 'item_id' => $userid, 'html' => false ) ); 
$user_image = '<img src="' . $user_avatar_url  . '"/>';
return $user_image;

}
add_shortcode('avatar', 'user_avatar');

【讨论】:

    【解决方案3】:

    试试这些

    <?php
     function user_avatar() 
      {    
        $user_avatar_url = bp_loggedin_user_avatar( 'type=full&html=false' ); 
       $user_image = '<img src="' . $user_avatar_url  . '"/>';
       return $user_image;
     }
      add_shortcode('avatar', 'user_avatar');
    ?>
    

    【讨论】:

      猜你喜欢
      • 2014-06-13
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-07
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      相关资源
      最近更新 更多