Я создал собственный тип записи с настраиваемым мета-блоком, учитывая приведенный ниже код, я знаю, что он сохранен в prefix_postmeta, как я могу получить эти данные и отобразить их в шаблоне страницы?
например: если у меня есть ЭТОТ ПОСТ, когда я просматриваю ЭТОТ ПОСТ, я смогу увидеть эти данные внизу ЭТОГО ПОСТА:
Название: ЭТО ПОЧТА
Содержание: Lorem Ipsum
Параметры из мета-поля: параметры
кто-нибудь знает, как я могу это сделать? из даст идею или учебник, как это сделать?
любое предложение будет большой помощью. Пожалуйста, не голосуйте. Спасибо, парни переполнения стека.
Код ниже — это код, который я использовал для сохранения пользовательских полей мета-блока.
function survey_questions_meta_save( $post_id ) {
// Checks save status
$is_autosave = wp_is_post_autosave( $post_id );
$is_revision = wp_is_post_revision( $post_id );
$is_valid_nonce = ( isset( $_POST[ 'survey_questions_nonce' ] ) && wp_verify_nonce( $_POST[ 'survey_questions_nonce' ], basename( __FILE__ ) ) ) ? 'true' : 'false';
// Exits script depending on save status
if ( $is_autosave || $is_revision || !$is_valid_nonce ) {
return;
}
if ( isset( $_POST[ 'option1' ] ) ) {
update_post_meta( $post_id, 'option1', sanitize_text_field( $_POST[ 'option1' ] ) );
}
if ( isset( $_POST[ 'option2' ] ) ) {
update_post_meta( $post_id, 'option2', sanitize_text_field( $_POST[ 'option2' ] ) );
}
if ( isset( $_POST[ 'option3' ] ) ) {
update_post_meta( $post_id, 'option3', sanitize_text_field( $_POST[ 'option3' ] ) );
}
if ( isset( $_POST[ 'option4' ] ) ) {
update_post_meta( $post_id, 'option4', sanitize_text_field( $_POST[ 'option4' ] ) );
}
if ( isset( $_POST[ 'option5' ] ) ) {
update_post_meta( $post_id, 'option5', sanitize_text_field( $_POST[ 'option5' ] ) );
}
}
add_action( 'save_post', 'survey_questions_meta_save' );
Ты ищешь get_post_meta()
функция.
На вашей странице вам нужно получить собственный идентификатор сообщения, лучше всего использовать get_the_id()
функция.
Если вы на single-{cpt-name}.php
Вы можете просто создать простой цикл, и внутри вы сможете без проблем извлекать все сообщения и мета.
$post_meta = get_post_meta( get_the_ID(), 'option_name', true );
более подробная информация о повторной публикации мета на WordPress Plugin Справочник.
Других решений пока нет …