Intereting Posts
настраиваемая сетка типа сообщения с содержимым в лайтбокс Кажется, я не могу добавить загруженное изображение в сообщение и установить его как миниатюру Преобразовать этот относительный путь в абсолютный Условная загрузка CSS для моего плагина Категория и теги с тем же именем Как создать шаблон wordpress без использования какой-либо страницы Получать данные о записи / странице вне цикла Виджет боковой панели, чтобы показать, что популярный пост не работает? Проводка данных от ионных до wordpress Есть ли способ создать псевдоним без использования htacess, permalinks или вникания в код? выберите основное меню навигации для каждого типа пользователя из нескольких основных навигационных меню Вызов функции javascript из другого файла Сколько требуется обслуживание сервера WordPress? Как добавить встроенный CSS для каждого изображения? Как отличить взлом и ошибку кодирования?

Есть ли способ получить почтовые поля, используя `transition_post_status`

Сначала я попытался получить данные post_meta, и последний, я попытался get_post_field() внутри функции get_post_field() , например:

 <?php add_action( 'transition_post_status', 'yes_send_email_notification', 10, 3 ); function yes_send_email_notification( $new_status, $old_status, $post ) { if( 'mycpt' === $post->post_type && 'new' === $old_status && 'pending' === $new_status ) : $post_id = $post->ID; /** * Generate Dynamic values */ $post_view_link = get_permalink( $post_id ); $message = "My custom message<br>"; $message .= "Link: ". esc_url( $post_view_link ); //headers are duely passed //$headers = ... wp_mail( 'someone@example.com', 'New MyCPT submitted', $message, $headers ); endif; } 

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

 $post_id = $post->ID; $post_view_link = get_permalink( $post_id ); $post_title = get_post_field( 'post_title', $post, 'display' ); $post_content = get_post_field( 'post_content', $post, 'display' ); $post_excerpt = wp_trim_words( $post_content, 70, null ); 

Но я терплю неудачу. $post_title и $post_excerpt не заполняются. (То же самое произошло для полей post_meta )

Как я могу получить post_fields (и, если возможно, поля post_meta ) внутри функции post_meta ?

Solutions Collecting From Web of "Есть ли способ получить почтовые поля, используя `transition_post_status`"

Я не уверен, почему get_post_field не работает в этой ситуации, но если вы можете получить доступ к $post->ID , вы также сможете получить $post->post_title и $post->post_content (и даже $post->post_excerpt если он есть).

Объект $ post включает стандартные метаданные, такие как автор и дата публикации. Любые метаданные в таблице wp_postmeta в базе данных могут быть найдены только с $post->ID , с помощью которых вы сможете получить свои метаданные с помощью get_metadata . В противном случае вы всегда можете напрямую запускать запрос в базе данных . Поскольку плагины имеют довольно определенную свободу в структурировании своих метаданных, в целом невозможно сказать, как структурировать этот запрос. Также: прочитайте записку Отто об этом.