Как вернуть значения из пользовательского мета-блока? - PullRequest
1 голос
/ 28 апреля 2010

Я только что последовал этому примеру из Wordpress, и я успешно добавил дополнительный Meta Box в интерфейсе Post, и значение сохраняется в БД.

Теперь мой вопрос: как я могу получить и отобразить содержимое этого мета-блока?

Я пытаюсь следующий код:

  $intro = get_post_meta($post->ID, 'post_intro', true);
  echo $intro;

Но я получаю нада. Что я делаю не так?

И пока я здесь, кто-нибудь знает, могу ли я разместить этот дополнительный мета-блок над текстовым полем по умолчанию на странице сообщений Wordpress?

Ответы [ 2 ]

4 голосов
/ 29 апреля 2010

Ваш фрагмент в цикле? Если это так, используйте get_the_ID() вместо $post->ID.

это должно выглядеть так:

$intro = get_post_meta(get_the_ID(), 'post_intro', true);
echo $intro;

Если вам нужно получить метаданные вне цикла, сделайте следующее:

global $post;
$intro = get_post_meta($post->ID, 'post_intro', true);
echo $intro;

Причина, по которой вы ничего не получили, заключается в том, что вам нужно глобализировать переменную $ post, если вы хотите получить к ней доступ. Всегда используйте первый метод, если у вас нет выбора. Если вы пытаетесь использовать метаданные для шаблонов страниц, скажите об этом, потому что у меня есть лучшее решение для обработки метаданных в этой ситуации.

Удачи!

0 голосов
/ 27 июня 2010

В качестве дополнительного примечания я хотел бы сослаться на WordPress Meta Box PHP Helper class , который может помочь вам и другим при работе с WordPress Meta Boxes.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...