我有两个版本的网站,一个实时测试版本和一个本地版本。
我目前正在使用MAMP处理本地版本。两个站点的后端都是相同的,我确保每个站点的管理员完全相同。
我尝试通过编辑页面部分向网站添加图片,但图片未显示。
我检查了网站,发现任何错误,没有找到任何错误,但是我找到了一些有趣的东西。
在并排比较两个网站版本的html标记之后,我注意到我的本地版本缺少显示图像的div。
以下是实时版本的div -
正如您在本地版本中看到的那样,ul
代替div class="image-16-8
。
这是显示这些图像的php文件
<?php
function tbhHeroShortcode($atts)
{
$values = shortcode_atts(array(
'images' => '',
'first-line' => '',
'second-line' => '',
'video' => '',
'link' => '',
), $atts);
ob_start();
?>
<div class="hero">
<?
$images = decode_shortcode_data($values['images']);
if ($images): ?>
<ul data-simple-slider>
<?php foreach ($images as $image): ?>
<li>
<div class="image-16-8" style="background-image: url(<?= $image->url; ?>); "></div>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<div class="hero-content">
<div class="hero-content-first-line">
<h1 class="header"><?= decode_shortcode_data($values['first-line']) ?></h1>
</div>
<h1 class="italic-header"><?= decode_shortcode_data($values['second-line']) ?></h1>
<div class="hero-content-cta">
<a class="hollow-button" href="<?= decode_shortcode_data($values['link']) ?>">Learn More</a>
</div>
</div>
<?php if (count($images) > 1): ?>
<div class="hero-controls">
<i class="fa fa-chevron-left hero-controls__left" aria-hidden="true"></i>
<i class="fa fa-chevron-right hero-controls__right" aria-hidden="true"></i>
</div>
<?php endif; ?>
</div>
<?php
$component = ob_get_contents();
ob_end_clean();
return $component;
}
add_shortcode('tbhHero', 'tbhHeroShortcode');
有没有人知道为什么会这样?
答案 0 :(得分:0)
ul正在展示,因为它正好在你的php
中<div class="hero">
<?
$images = decode_shortcode_data($values['images']);
if ($images): ?>
<ul data-simple-slider>
但是,在实时版本的屏幕截图中,你的英雄div是不同的,它看起来像这样
<div class="hero" id>
您看到的输出不是由同一个文件生成的,所以要么有一些浏览器/服务器缓存正在进行,而您从实时网站看到的内容并不反映您的PHP的当前状态,或者某种程度上您的PHP两个环境之间的文件更新不同步。
答案 1 :(得分:0)
我猜两个网站之间的区别在于&#34;编辑页面&#34;任何页面的区域作为主页。我希望本地版本上有一个名为[tbh-hero]的短代码,其中列出了图像,而另一个没有列出任何图像,或者根本没有短代码。但是,老实说,有很多方法可以在给定主题的结构中实现该代码。