Intereting Posts
Обновление метаданных сообщений (настраиваемое поле) по ссылке Как отредактировать страницу продукта плагина wp ecommerce? Проблема с настройкой темы Включить содержимое пользовательского типа в поиске Как вы можете изменить все образы прошлых сообщений для ссылки на none вместо файла изображения? Как импортировать носители из папки в отличие от старого сайта? Заказывать продукцию на основе таксономии и даты Как экспортировать весь контент с помощью изображений функций? Добавление калькулятора на страницу WordPress Вставка данных из настраиваемой PHP-страницы в таблицу wp_postmeta Какие способы можно использовать для входа в WordPress? Как определить, влияет ли плагин на вашу файловую систему Перепишите, чтобы загрузить главную страницу для другого URL-адреса проблема с основным сайтом (корневой домен) перенаправляется на субдомен (многоузловой) Ограничение сообщений на главной странице одной таксономией?

Пользовательские поля не отображаются на моей странице блога

Я создал собственное поле под названием «Описание страницы», которое я использую для создания настраиваемого заголовка для каждой статической страницы моего сайта wordpress. Я использую код:

<?php echo get_post_meta(get_the_ID(),'Page Description',true); ?> 

в моем header.php.

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

вы можете просмотреть веб-сайт здесь, если это поможет. www.tenspeedgreens.com

Попробуйте использовать:

 <?php // Determine context $page_id = ( 'page' == get_option( 'show_on_front' ) ? get_option( 'page_for_posts' ) : get_the_ID ); // Echo post meta for $page_id echo get_post_meta( $page_id, 'Page Description', true ); ?> 

Что происходит:

  1. Вы используете статическую страницу как главную страницу, а статическую страницу для отображения индекса сообщений в блогах
  2. Вы добавили свои почтовые пользовательские метаданные (то есть настраиваемое поле) на статическую страницу, а затем назначили эту страницу для отображения индекса сообщений в блогах
  3. В этом сценарии WordPress использует либо home.php либо index.php ( в этом порядке, для Иерархии шаблонов ), чтобы отобразить индекс сообщений в блогах. WordPress никогда не будет использовать page.php или любой настраиваемый шаблон страницы для отображения индекса сообщений в блогах.
  4. В home.php или index.php WordPress не ссылается на идентификатор страницы, назначенной для отображения индекса сообщений блога.
  5. Таким образом, если вы хотите ссылаться на данные, связанные с этим идентификатором страницы, вам нужно запросить его напрямую
  6. Введите get_option( 'page_for_posts' ) , который возвращает идентификатор страницы, назначенной для отображения индекса сообщений блога.

Примечание: поскольку вы ввели этот код в header.php , он будет выводиться в каждом файле шаблона; поэтому вы захотите добавить некоторые отказоустойчивые сейфы.

редактировать

Пример отказоустойчивости:

  1. Чтобы отобразить только индекс блога, оберните все это в:

     if ( is_home() ) {} 
  2. Для отображения на статических страницах и индексах блога, оберните все это в

     if ( is_home() || is_page() ) {} 

Ну, ваша страница блога не является отдельной страницей / страницей, это скорее шаблон, который заполняет список сообщений, и поэтому он не может иметь никаких настраиваемых полей, связанных с ним.

Где именно вы вводили значение настраиваемого поля, которое, как вы ожидали, будет отображаться на этой странице?

Изменить: ваше описание находится в заголовке, поэтому вы можете просто:

  1. Создайте стандартную страницу под названием «Блог». Затем перейдите в wp-admin -> Settings -> Reading и измените значение «Страницы» на странице «Блог». Возможно, вам придется настроить свое меню, чтобы отразить это изменение.

  2. Создайте собственный шаблон для своей страницы блога. Скорее всего, это будет copy-paste из index.php и content.php , если ваша тема похожа на тему Twentytwelve . Если это не так, вам нужно будет выяснить, какой шаблон отвечает за заполнение списка сообщений. Codex имеет много полезных руководств , наиболее полезным для вас в этом случае является, вероятно, Страницы .

  3. Измените страницу своего блога с # 1, чтобы использовать новый шаблон из # 2 (« Edit Page -> Page Attributes -> Template ).