Wordpress永久链接奇怪的行为:输出取决于<div> </div>

时间:2014-09-01 14:26:33

标签: php wordpress post while-loop permalinks

这真的很奇怪。 the_permalink();适用于wordpress循环(下面的代码)。它输出正确的URL-但由于某种原因在同一个循环中,不改变查询等,永久链接只输​​出第一个帖子。

以下是代码:

<?php echo the_permalink(); ?>//This outputs **right** - http://domain.de/?p=18
<?php echo $link;?>


<span class="share_overlay">
<?php echo the_permalink(); ?>//This outputs **wrong** - http://domain.de/?p=18
<?php echo $link;?>

那么我做错了什么?在......之间没有任何东西,即使我只是回声 - &gt;永久链接到.share_overlay我得到了相同的结果。没有回声 - 相同的结果。在.share_overlay之外写the_permalink - 链接没问题。

没有代码 - 在function.php中没有一小段代码 - 甚至没有运行操作DOM的JS。

这里有一些我的代码,所以如果我有n个错误,你可以用脚打我的头;) $ link只是为了查看结果是否相同。我无法看到一个对我来说非常奇怪的错误主题。

 <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
        <?php $link = get_permalink($post);?>

        <article class="post">
            <h3><a href="<?php echo $link ?>"><?php the_title(); ?></a></h3>

            <em class="meta">
                <span class="icn time" title="Datum"></span><time datetime="<?php the_time('Y-m-d') ?>"><?php the_date(); ?></time>
                |
                <span class="icn cat" title="Kategorie"></span><span class="categorie">
                <?php the_category(' '); ?>
                </span>
                |
                <span class="icn social" title="Teilen"></span><span class="share">Teilen

                        <?php echo the_permalink(); ?>//right
                        <?php echo $link;?>//right


                    <span class="share_overlay">
                        <?php echo the_permalink(); ?>//wrong
                        <?php echo $link;?>//wrong

                        <strong>Teile diesen Inhalt auf:</strong>
                        <span class="share_content">
                                <a class="t" target="_blank" href="https://twitter.com/share?url=&text=<?php echo $link; ?>: &hashtags=<?php if(has_tag()){$posttags = get_the_tags();if($posttags){foreach($posttags as $tag){ echo $tag->name . ',';}echo'design';}}?>">Tweet</a>


                                <a class="g" target="_blank" href="https://plus.google.com/share?url=<?php echo $link; ?>">Google+</a>
                                <a class="f" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo $link; ?>">Facebook</a>
                        </span>
                        <span class="close"></span>
                    </span>





                </span>
            </em>

            <?php echo the_permalink(); ?>//right again?!
                        <?php echo $link;?>//right again?!


            <?php the_excerpt(); ?>
            <a class="more" title="weiter lesen" href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        </article>

        <?php endwhile; else : ?>
            <article class="post">
                <h3>No entries found here so far.</h3>
                <p>No results found.</p>
            </article>
        <?php endif; ?>

1 个答案:

答案 0 :(得分:0)

解决这不是wordpress本身的问题我认为..在循环之前设置wp_reset_query - &gt;一切都有效。我想我之前搞砸了一些事情,所以我要照看。感谢您的评论 -