WordPress get_permalink - всегда возвращать первый пост вместо родительской страницы?

Я установил пользовательскую страницу "myblog" как "Страницы постов" в "Настройках чтения", но почему я всегда получаю первую статью поста "myblog" вместо самого "myblog"?

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

Так должно быть:

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

Есть идеи, почему и как я могу это исправить?

1 ответ

Решение

Вы можете сделать что-то вроде этого, чтобы получить постоянную ссылку для вашей страницы блога (page_for_posts). Ниже приведена пара условных проверок для отката, но на самом деле вызов get_permalink() на page_for_posts вариант то что тебе нужно.

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());
Другие вопросы по тегам