Intereting Posts
Получить все термины внутри определенной таксономии в многоузловом Возврат URL-адреса изображения из его идентификатора привязки с использованием настраиваемого плагина типа сообщения Запросить сообщения между двумя датами (пользовательские мета-ключи) CMB2 Как вызвать WordPress PHP-файл с помощью внешнего js-файла Почему публикация publish_ {custom-post-type} при обновлении? Как локализовать встроенный скрипт с помощью ajax onclick post title в файле admin javascript не работает Пользовательская HTML-форма с использованием PHP – помощь с проверкой имени ajax / username Страница с несколькими редактируемыми текстовыми контентом пользователя Pagination не работает с пользовательским запросом внутри шаблона домашней страницы Проблема входа в WordPress wp-admin WordPress конвертирует? page = 2 в / 2 Как сделать изображение вырезания полным размером, а не эскизом? получить все подкатегории без указания какой-либо категории Плагин формы для запросов Api, который используется через Shortcode

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

Можно ли заполнить мета-окно выпадающим списком пользовательских типов сообщений? Я планирую создать шаблон для клиента, который позволит им создать новую страницу в информационной панели, а затем выбрать персонализированный тип сообщения из метаданных 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 и т. Д.