Как узнать устанолвена ли для главной статическая страница?
В WordPress есть возможно поставить статическую страницу для главной, также назначить отдельную страницу для постов блога. Делается это в Настройках чтения.
У меня такой вопрос, точнее два:
-
Как программно узнать установлена ли для главной страницы сайта отдельная страница и установлена ли для статей блога отдельная страница?
- Как программно установить обе эти страницы?
Похоже это делается в каких-то опциях, но вот в каких?
Это все храниться в настройках:
page_on_frontиpage_for_posts. Т.е. чтобы узнать проверяем есть ли данные в настройке:if( $page_id = get_option('page_on_front') ){ // страница для главной установлена } if( $page_id = get_option('page_for_posts') ){ // страница для записей блога установлена }Чтобы установить, обновляем настройки:
-
Также есть связанная опция
show_on_frontв которой храниться: 'posts' или 'page' - т.е. выводятся ли на главной посты или установлена страница. Вот для наглядности код метода is_front_page(), тут по коду видно что к чему...public function is_front_page() { // most likely case if ( 'posts' == get_option( 'show_on_front') && $this->is_home() ) return true; elseif ( 'page' == get_option( 'show_on_front') && get_option( 'page_on_front' ) && $this->is_page( get_option( 'page_on_front' ) ) ) return true; else return false; }