我甚至不知道如何清楚地问这个问题,所以我为任何混淆道歉。
基本上,我尝试将$img['socialfb']
存储在hoverHTML
中,因此如果html包含一个值,它将连接显示正确社交图标的<li>
元素,如果不包含,它将继续移动。这最终将包括其他社交图标链接项目。
$hoverHTML = '<div class="thumbnail-overlay">
<h2><a href="'.$img['link'].'"> '.$img['data']->post_title.'</a></h2>
<ul class="socials">'
(isset($img['socialfb']) ? .'<li><a href="'.$img['socialfb'].'"><i class="fab fa-facebook"></i></li>'. : .''.)
'</ul></div>';
return $hoverHTML;
这有可能吗?我仍然是php的新手,但正在尝试修改一个现有的插件。
下面是完整的函数:
function getHover( $img ){
$hoverHTML = '';
if(!$this->hover) return $hoverHTML;
if($this->hover == 1){
$hoverHTML .= $this->titleHover;
if( $this->linkIcon || $this->zoomIcon ){
$hoverHTML .= '<div class="rbsIcons">';
if($this->linkIcon && $img['link']) $hoverHTML .= '<a href="@LINK@" '.($img['typelink']?'target="_blank"':'').' title="@TITLE@">'.$this->linkIcon.'</a>';
if($this->zoomIcon) $hoverHTML .= $this->zoomIcon;
$hoverHTML .= '</div>';
}
$hoverHTML .= $this->descHover;
}
if($this->templateHover) $hoverHTML = $this->templateHover;
if($hoverHTML){
$hoverHTML = str_replace(
array('@TITLE@','@CAPTION@','@DESC@', '@LINK@', '@SOCIALFB@'),
array(
$img['data']->post_title,
$img['data']->post_excerpt,
$img['data']->post_content,
$img['link'],
$img['socialfb'],
),
$hoverHTML
);
}
$hoverHTML = '<div class="thumbnail-overlay">
<h2><a href="'.$img['link'].'"> '.$img['data']->post_title.'</a></h2>
<ul class="socials">'
(isset($img['socialfb']) ? .'<li><a href="'.$img['socialfb'].'"><i class="fab fa-facebook"></i></li>'. : .''.)
'</ul>
</div>';
return $hoverHTML;
}
发布于 2018-07-08 08:38:46
所以你可以这样做,但是你有语法错误,把$hoverHTML改成这样:
$hoverHTML = '<div class="thumbnail-overlay">
<h2><a href="'.$img['link'].'"> '.$img['data']->post_title.'</a></h2>
<ul class="socials">'
.(isset($img['socialfb']) ? '<li><a href="'.$img['socialfb'].'"><i class="fab fa-facebook"></i></li>' : '').
'</ul></div>';
return $hoverHTML;
https://stackoverflow.com/questions/51227949
复制相似问题