Wordpress div没有显示在localhost版本的站点上

时间:2017-11-01 17:08:15

标签: php html css wordpress

我有两个版本的网站,一个实时测试版本和一个本地版本。

我目前正在使用MAMP处理本地版本。两个站点的后端都是相同的,我确保每个站点的管理员完全相同。

我尝试通过编辑页面部分向网站添加图片,但图片未显示。

我检查了网站,发现任何错误,没有找到任何错误,但是我找到了一些有趣的东西。

在并排比较两个网站版本的html标记之后,我注意到我的本地版本缺少显示图像的div。

以下是实时版本的div -

enter image description here

这是我的本地版本,其中没有显示div - enter image description here

正如您在本地版本中看到的那样,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');

有没有人知道为什么会这样?

2 个答案:

答案 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]的短代码,其中列出了图像,而另一个没有列出任何图像,或者根本没有短代码。但是,老实说,有很多方法可以在给定主题的结构中实现该代码。