WordPress循环中的固定链接为每个新行输出<A>

时间:2021-02-05 作者:Bas Linden

我正在使用下面的循环来拉我的帖子,在div周围环绕着a,以确保它在单击时链接到帖子。

    <?php $query = new WP_Query( array(
    \'post_type\' => \'post\',
    \'posts_per_page\' => 6
)); 

while ($query->have_posts()) : $query->the_post(); ?>


<div class="carousel-cell" data-flickity-bg-lazyload="<?php the_field(\'banner_afbeelding\'); ?>">
<a href="<?php the_permalink();?>">
<div class="inner-wrap">
    <div class="box">
    <div class="inner">
        <h3><?php the_title(); ?></h3>
        <h4><?php the_category(\'\'); ?></h4>
    </div>
    </div>
</div>
</a>
</div>
这是我得到的HTML输出:

<div class="carousel-cell is-selected flickity-bg-lazyloaded" style="position: absolute; left: 0%; background-image: url(&quot;https://puranenschilder-totaalonderhoud.nl/wp-content/uploads/2021/02/2-bas-H.jpg&quot;);">

<a href="https://puranenschilder-totaalonderhoud.nl/rozengracht/"></a>
<div class="inner-wrap">
    <a href="https://puranenschilder-totaalonderhoud.nl/rozengracht/"></a>
        <div class="box">
            <a href="https://puranenschilder-totaalonderhoud.nl/rozengracht/"></a>
            <div class="inner"><a href="https://puranenschilder-totaalonderhoud.nl/rozengracht/"></a>
                <h3><a href="https://puranenschilder-totaalonderhoud.nl/rozengracht/"></a><a href="https://puranenschilder-totaalonderhoud.nl/rozengracht/">Rozengracht</a></h3>
                <h4>
                <ul class="post-categories">
                <li>    
                    <a href="https://puranenschilder-totaalonderhoud.nl/category/buitenschilderwerk/" rel="category tag">Buitenschilderwerk</a>
                </li>
                </ul>
                </h4>
            </div>
        </div>
</div>    

2 个回复
SO网友:Jacob Peattie

这是因为the_category() 输出类别列表,带有链接。所以它输出自己的<a> 标签,并且您不能<a> 其他内部标签<a> 标签。它不是有效的HTML。

您看到的是浏览器试图基于无效标记生成有效HTML。HTML非常有弹性,无效的标记不会导致它崩溃。浏览器就是这样做的。如果查看浏览器开发工具的网络选项卡中为页面返回的原始HTML,您将看到模板实际创建的HTML。

如果要输出没有链接的帖子类别列表,需要执行以下操作:

SO网友:Akash Singh

如果您使用get_permalink() 然后您需要使用echo和the_permalink() 你不习惯回声。

<?php the_permalink(); ?>
<?php echo get_permalink(); ?>
代码:-

<div class="carousel-cell" data-flickity-bg-lazyload="<?php the_field(\'banner_afbeelding\'); ?>">
    <a href="<?php the_permalink();?>">
        <div class="inner-wrap">
            <div class="box">
                <div class="inner">
                    <h3><?php the_title(); ?></h3>
                    <h4><?php the_category(\'\'); ?></h4>
                </div>
            </div>
        </div>
    </a>
</div>

相关推荐

Problem with permalinks

我已经更改了类别的基本名称,现在它是“博客”,工作正常。但当我通过/blog/%category%/%postname%/更改结构时。显示404。如果我删除结构中的blog,它会再次工作,但我想使用blog word。问题出在哪里?非常感谢。