Intereting Posts
Несколько настраиваемых полей с тем же именем wp_update_post () не обновляет post_status? Создание новых типов контента (страницы, сообщения, отзывы, тигры, о мой!) Перенос нескольких WP-уставок в одном домене в WP Multisite Массовый плагин для отправки по электронной почте заданных ролей пользователя Должен ли я использовать сброс CSS для WordPress, или это нормально, перезагрузка CSS CSS Eric Meyer? Есть ли Галерея изображений, которая загрузит все мои опубликованные изображения, например, сетку изображений Twitter? Как работает автоматическое перенаправление для плагина перенаправления? WordPress Multisite – несколько подкаталогов Плагин превышает ограничение памяти Как передать аргумент своему пользовательскому ходоку? кто-нибудь может помочь мне узнать, что происходит не так? Невозможно использовать встроенную функцию плагина для установки / обновления WordPress Добавление пункта меню в панели администратора Авторский архив только для пользовательского типа сообщения

Создание раскрывающегося списка пользовательских сообщений в метабоке

Можно ли заполнить мета-окно выпадающим списком пользовательских типов сообщений? Я планирую создать шаблон для клиента, который позволит им создать новую страницу в информационной панели, а затем выбрать персонализированный тип сообщения из метаданных CPT, чтобы выбрать, какие сообщения отображаются на указанной странице.

Обновление: вот насколько я получил прямо сейчас. Поле post types не возвращает значение после сохранения. Любая помощь будет оценена по достоинству.

add_action( 'add_meta_boxes', 'cd_meta_box_add' ); function cd_meta_box_add() { add_meta_box( 'my-meta-box-id', 'My First Meta Box', 'cd_meta_box_cb', 'page', 'normal', 'high' ); } function cd_meta_box_cb( $post ) { $values = get_post_custom( $post->ID ); $selected = isset( $values['my_meta_box_select'] ) ? esc_attr( $values['my_meta_box_select'][0] ) : ''; wp_nonce_field( 'my_meta_box_nonce', 'meta_box_nonce' ); ?> <p> <label for="my_meta_box_select">Post type: </label> <select name="my_meta_box_select" id="my_meta_box_select"> <?php $post_types=get_post_types('', 'objects'); foreach ($post_types as $post_type): ?> <option value="<?php echo esc_attr($post_type->name); selected ?>"><?php echo esc_html($post_type->label); selected ?></option> <?php endforeach; ?> </select> </p> <p> <label for="my_meta_box_select">Color</label> <select name="my_meta_box_select" id="my_meta_box_select"> <option value="red" <?php selected( $selected, 'red' ); ?>>Red</option> <option value="blue" <?php selected( $selected, 'blue' ); ?>>Blue</option> </select> </p> <?php } add_action( 'save_post', 'cd_meta_box_save' ); function cd_meta_box_save( $post_id ) { // Bail if we're doing an auto save if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; // if our nonce isn't there, or we can't verify it, bail if( !isset( $_POST['meta_box_nonce'] ) || !wp_verify_nonce( $_POST['meta_box_nonce'], 'my_meta_box_nonce' ) ) return; // if our current user can't edit this post, bail if( !current_user_can( 'edit_post' ) ) return; // now we can actually save the data $allowed = array( 'a' => array( // on allow a tags 'href' => array() // and those anchords can only have href attribute ) ); // Probably a good idea to make sure your data is set if( isset( $_POST['my_meta_box_select'] ) ) update_post_meta( $post_id, 'my_meta_box_select', esc_attr( $_POST['my_meta_box_select'] ) ); } 

Solutions Collecting From Web of "Создание раскрывающегося списка пользовательских сообщений в метабоке"

Конечно, это возможно.

Ниже приведен код, который будет отображать зарегистрированные типы сообщений:

 function my_meta_box_add() { add_meta_box( 'my-meta-box-id', 'MY meta', 'my_meta_box', 'page', 'normal', 'high' ); } add_action( 'add_meta_boxes', 'my_meta_box_add' ); function my_meta_box( $post ) { ?> <p> <label for="my_meta_box_post_type">Post type: </label> <select name='my_meta_box_post_type' id='my_meta_box_post_type'> <?php $post_types=get_post_types('', 'objects'); foreach ($post_types as $post_type): ?> <option value="<?php echo esc_attr($post_type->name); ?>"><?php echo esc_html($post_type->name); ?></option> <?php endforeach; ?> </select> </p> <?php } 

Конечно, вы должны позаботиться о сохранении этого значения, проверке nonces и т. Д.