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());