Wordpress get_permalink - 总是 return 第一个 post 而不是父页面?

Wordpress get_permalink - always return the first post instead of the parent page?

我在 'Reading Settings' 中将自定义页面 'myblog' 设置为 'Posts page',但为什么我总是看到 'myblog' 的第一篇 post 文章而不是'myblog' 本身?

var_dump(get_permalink()); // "http://xxxx.com/myblog/hello-world/"

应该是:

"http://xxxx.com/myblog/"

知道为什么以及如何解决这个问题吗?

您可以像这样获取博客页面的固定链接 (page_for_posts)。下面有几个用于回退的条件检查,但实际上 page_for_posts 选项上的 get_permalink() 调用正是您所需要的。

function get_my_blogpage_permalink() {
    if( 'page' == get_option( 'show_on_front' ) ) {

        return get_permalink( get_option('page_for_posts' ) );

    } else {

        return home_url();

    } 
}

var_dump(get_my_blogpage_permalink());