Каковы различия между «Последние сообщения» и «Статическая страница»?

WordPress имеет возможность выбрать «Последние сообщения» и «Статическая страница» в разделе «Настройки» в панели администратора. Мои вопросы:

  1. Какой шаблон страницы загружается в каждом из этих режимов?
  2. Почему paged перестает работать, и page начинает работать, когда я выбираю «Статическая страница» – выполняются page , однако, когда я создаю новый шаблон страницы с новым WP Query, и page не работает (речь идет о WP Query – я думаю, что все знают, что Я говорю – это разбиение на страницы).
  3. Похоже, что get_post_meta($post->ID, "my_custom_field_name", true) перестает работать, когда я выбираю шаблон пользовательской страницы как «Статическая страница», но то же самое работает, когда я использую его через стандартную «страницу просмотра» в панели администратора (I не пробовал global $post , пока).
  4. Я думаю, что все мои $wp_query вопросы связаны с тем, что попадает в $wp_query и $post в каждом из этих режимов.

Я просто не получаю эти два варианта. Может ли кто-нибудь предоставить мне некоторые рекомендации или ресурсы, где я мог бы узнать больше об этом?

Solutions Collecting From Web of "Каковы различия между «Последние сообщения» и «Статическая страница»?"

Условные теги

  • Условный тег is_front_page() возвращает true если вы находитесь на front-page.php странице ( index.php как fallback или front-page.php ).
  • Условный тег is_home() возвращает true если вы находитесь на главной странице, когда у вас нет статической страницы, заданной в качестве главной страницы, или когда вы получаете статическую переднюю страницу и отображаете страницу сообщений ( home.php или index.php как отступать).
  • Если у вас нет статической первой страницы, установленной в разделе «Настройки> Чтение», то оба is_front_page() и is_home() вернут true для home.php , front-page.php и index.php .

Опции

  • Если у вас статическая передняя страница, то get_option( 'show_on_front' ); имеет page значений.
  • Чтобы получить идентификатор для get_page( get_option('page_on_front') ) страницы, вы можете вызвать get_page( get_option('page_on_front') ) .
  • Чтобы получить ссылку на get_permalink( get_option('page_on_front') ) страницу, вы можете вызвать get_permalink( get_option('page_on_front') ) .
  • Чтобы получить идентификатор страницы Posts , вы можете вызвать get_page( get_option('page_for_posts') ) .
  • Чтобы получить ссылку на страницу « Сообщения» , вы можете вызвать get_permalink( get_option('page_for_posts') ) .
  • Если у вас есть home.php тема, то home.php не будет действовать как резерв для front-page.php .
  • Чтобы получить пользовательские значения с get_post_custom('page_on_front') ) страницы, вы можете вызвать get_post_custom('page_on_front') ) .
  • Чтобы получить пользовательские значения со страницы Posts , вы можете вызвать get_post_custom('page_for_posts') ) .

… список AAARGH !! s продолжается и продолжается.

особенно когда пользователь пытается установить пользовательский шаблон как «Статическая страница» – разбиение на страницы перестает работать, если я не использую страницу и пользовательские поля перестают работать, если я не создаю новый запрос WP.

Из комментария OP к другому ответу

Как вы можете видеть на этой диаграмме , нелегко обойти, что использовать. Проблема в том, что есть функции, которые перехватывают главный объект $wp_query , другие, которые копируют содержимое объекта $wp_the_query и т. Д. И чем те, которые работают только с главным объектом $wp_query . Я знаю, что это не полный ответ на ваш вопрос о разбивке на страницы, но это также никогда не было вопросом. 🙂

Прежде чем я отвечу на этот вопрос (сегодня не хватает времени), я просто свяжу вам несколько билетов на трек, которые показывают, что пользовательский интерфейс, назначение функций и т. Д.

  • Улучшите пользовательский интерфейс в разделе «Чтение> Настройки»
  • Разрешить не редактируемые страницы классифицироваться и организовываться как «Системные страницы»,
  • Переименуйте сильно запутанную is_blog() и front_page_url()
  1. вы в основном выбираете два шаблона, один для первой страницы, а другой для страницы блога. С вашего вопроса трудно понять, к какому из них относятся ваши вопросы …
  2. Шаблон страницы, связанный со статической страницей, которую вы выбрали. На последней странице сообщений игнорируется настройка шаблона и будут использовать инструкции шаблонов из home.php или index.php.
  3. Потому что содержимое страницы не выгружается;). Последняя страница сообщений должна быть выгружена, по крайней мере на моих тестовых установках она работает нормально.
  4. Нужно видеть точный код, но $ post является глобальным, лучше всегда объявлять его как одно, а не предполагать, что ваш код не выполняется из функции и потому не имеет доступа к глобальной области.
  5. Для статической домашней страницы они будут содержать те же значения, что и при загрузке страницы по собственному URL. Для последних сообщений они должны содержать те же значения, которые были бы включены, если бы вы загружали домашнюю страницу, прежде чем возиться со статической настройкой страницы.

Yeh эта вещь сложна для понимания 🙁 codex может реально помочь здесь http://codex.wordpress.org/Creating_a_Static_Front_Page