Как получить ID записи с помощью функции Add Filter
5 мая 2012 г., 09:26:14
Просмотры: 14.2K
Голосов: 4
Я разрабатываю плагин и пытаюсь понять, как добавить данные в конец записи на основе пользовательских мета-данных.
Пока что я сделал следующее:
add_filter('the_content', 'AppendMeta');
И вот сама функция "AppendMeta":
AppendMeta($content) {
echo $content; // Выводим содержимое записи
$PersonName = get_post_meta($post->ID, 'PersonName', true);
echo 'Person: ' . $PersonName;
}
Этот код работает, если я заменю $post->ID на конкретный ID записи, но мне нужно, чтобы он работал для текущей просматриваемой записи. Как передать ID записи в качестве параметра? $post->ID в этом сценарии не работает, и я не могу понять почему.

Talon
291
Комментарии
Все ответы на вопрос
2
2
Неважно, я выяснил, что можно использовать get_the_ID();
.
Эта функция вернёт ID записи внутри фильтра the_content
. Функция просто объявляет глобальный объект $post
и возвращает его ID.
add_filter('the_content', 'wpse51205_content')
wpse51205_content($content) {
echo $content; // Выводим содержимое записи
$PersonName = get_post_meta(get_the_ID(), 'PersonName', true);
echo 'Имя: ' . $PersonName;
}
Если вы не хотите использовать get_the_ID()
, вам просто нужно объявить объект $post
глобальным перед его использованием:
add_filter('the_content', 'wpse51205_content')
wpse51205_content($content) {
global $post;
echo $content; // Выводим содержимое записи
$PersonName = get_post_meta($post->ID), 'PersonName', true);
echo 'Имя: ' . $PersonName;
}

Talon
291
5 мая 2012 г. 09:28:11
Комментарии
Похожие вопросы
2
ответов
5
ответов