Intereting Posts
Получайте последние 3 сообщения из нескольких CPT в одном запросе Получение URL-адреса Featured и его добавление в качестве настраиваемого поля для публикации обновления / публикации Почему сообщения пропадают из admin после обновления с WP 2.7.1 до 3.0.1? Ограничьте количество слов, отображаемых плагином последних новостей, или порекомендуйте альтернативный WordPress застрял в удалении пользователя У пользовательских ролей пользователя есть все возможности по умолчанию? Ненужный URL Удаление / скрытие настроек отображения в окне добавления медиа-всплывающего окна / диалога Сортировка пользовательских сообщений на странице архива с разбивкой на страницы Лучшее изображение для первого сообщения Включено по умолчанию в виджетах WordPress Медленный сайт WP, тема.php не кэширование? Время загрузки до 25 секунд! Как уведомить администратора о том, что произошло во время работы cron Как использовать тот же адрес электронной почты для нескольких пользователей Установка WAMP WordPress не может пройти за 1-й шаг, загружается на неопределенный срок

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

Мне нужно проверить, истинно ли определенное значение в post_meta сразу после того, как wp выберет пользовательскую запись из базы данных. Если это false, мне нужно изменить / добавить некоторые данные в сообщение, а затем отобразить измененную версию, если это правда, она должна как обычно. Каким будет лучший крюк и подход в целом, чтобы выполнить что-то подобное?

Изменить: Забыл упомянуть раньше, но я бы предпочел сделать это внутри плагина.

Solutions Collecting From Web of "Какой крюк я могу использовать для изменения пользовательских данных после того, как он будет отображаться на странице?"

Вы можете использовать фильтр the_content для изменения содержимого до его выхода.

 function my_the_content_filter( $content ) { // maybe limit to archive or single cpt display? if( is_post_type_archive( 'your-cpt' ) || is_singular( 'your-cpt' ) ){ global $post; $meta = get_post_meta( $post->ID, 'some-key', true ); if( false === $meta ){ return $content . 'some extra content'; } } return $content; } add_filter( 'the_content', 'my_the_content_filter' ); 

Я бы сделал это внутри моего single-custon_post_type.php , используя get_meta() и условные проверки.

Если мета-поле не установлено или не содержит данных, которые вам нужны, вы можете отображать контент по-отдельности.