循环内的第二个GET_PERMALINK指向错误的URL

时间:2017-05-24 作者:LukeJonGibson

出于某种原因第二个get_permalink 位于特色图片上的指向当前页面,而不是帖子URL。

第一个get_permalink 工作正常。它们都在同一个环路内。

我在下面发布了一个精简版的循环。

循环的完整代码,以防有用:https://jsfiddle.net/hemjegzy/

非常感谢您的帮助。

循环代码(修剪)

    <?php
        if ( have_posts() ) :
        while ( have_posts() ) : the_post();
    ?>
    <article id="post-<?php the_ID(); ?>" <?php post_class( \'post-single-no-sidebar\' ); ?>>

        <?php if ( is_single() ) { ?> 
        <?php
            the_title( \'<h1 class="entry-title">\', \'</h1>\' );
        } else {
            the_title( \'<h1 class="entry-title"><a href="\' . esc_url( get_permalink() ) . \'" rel="bookmark">\', \'</a></h1>\' );
        }
        ?>
            <a href="<?php get_permalink(); ?>">
                <?php the_post_thumbnail(); ?>
            </a>

    </article>
   <?php
        endwhile;   
        endif;
   ?>
其他注意事项:WordPress的所有插件和版本都是最新的。我已经检查了任何插件可能是问题的原因。

我已经查看了以下问题的答案:

WP get_permalink Return Wrong URL

Custom post type's get_permalink returns wrong url

Login to wp-admin "redirect_to" points to wrong URL after migration

我认为这些问题是不同的。

1 个回复
最合适的回答,由SO网友:Milo 整理而成

get_permalink 没有任何输出,它return这是永久性的。您的第一次通话之所以有效,是因为您在the_title, 哪一个echos其值以及任何beforeafter 传递给它的参数。

将第二个实例更改为:

<?php echo get_permalink(); ?>
或使用the_permalink, 哪一个echos值,而不是returning。

<?php the_permalink(); ?>
WordPress中的许多功能都遵循相同的模式,get_ vs。the_, 一个返回用于php,一个打印到页面。

结束

相关推荐

WP_query issue with no posts

我正在将表单用于存档页面,以便用户可以指定他们想要查看的帖子以及查看方式。我有它的设置,所以他们可以选择升序或降序,每页帖子等,使用$\\u GET在我的表单中。但是,我还设置了表格,以按年/月设置显示帖子:<select name=\"monthnum\"> <option value=\"null\">Month</option> <option value=\"1\">Janu