Intereting Posts
Как показать управляемый список изображений в сообщении? Возможно ли иметь целевую страницу на основе местоположения посетителей? Проблема с wp_nav_menu, отображающая пользовательскую навигацию Каков наиболее эффективный способ загрузки виджетов в functions.php Проблема использования памяти в WordPress 3.x Как изменить виджет WordPress по умолчанию, чтобы иметь заголовки в привязанных тегах? Как создавать сообщения с определенной датой в массовом порядке Является ли использование WP Transients для сохранения внешних данных для плагина лучшим / правильным способом? Пользовательский цикл Woocommerce для отображения всех продуктов Перепишите URL-адрес WordPress из пользовательского плагина Минимальная настраиваемая структура постоянной ссылки Можете ли вы создать сеть wordpress (многосайтовый) для работы с несколькими учетными записями хостинга? Переадресовать цикл при попытке войти в / wp-admin / Как предотвратить запуск функции на основе хоста (т. Е. Web vs local)? XML Prism для публикации содержимого журнала

Как добавить пользовательские поля в пользовательский тип сообщения?

Хорошо, поэтому я зарегистрировал несколько пользовательских типов сообщений и несколько таксономий. Теперь, для жизни меня, я не могу понять код, который мне нужно добавить в поле Custom Custom Type Custom Custom Type.

Мне нужна выпадающая и текстовая область с одной строкой. Но мне также нужно иметь отдельные поля для типов сообщений. Итак, скажем, тип post имеет 3 поля, а post 2 – 4 поля, но поля разные.

Любые советы помогут мне взглянуть на код и найти что-то, но не могу понять, что мне нужно добавить в файл functions.php

Это, вероятно, сложнее, чем вы думаете, я бы рассмотрел использование рамки:

Если вы хотите написать свой собственный, вот несколько достойных учебников:

Добавьте / отредактируйте аргумент support (при использовании register_post_type ), чтобы включить custom-fields для публикации экрана редактирования вашего пользовательского типа сообщения:

 'supports' => array( 'title', 'editor', 'excerpt', 'thumbnail', 'custom-fields', 'revisions' ) 

Источник: https://codex.wordpress.org/Using_Custom_Fields#Displaying_Custom_Fields

Хотя вам нужно добавить некоторую проверку, это действие не кажется сложным для текущей версии WordPress.

В принципе вам нужно два шага, чтобы добавить настраиваемое поле в пользовательский тип сообщения:

  1. Создайте метабокс, который содержит ваше пользовательское поле
  2. Сохраните свое пользовательское поле в базе данных

Эти шаги описаны здесь глобально: http://wordpress.org/support/topic/is-it-possible-to-add-an-extra-field-to-a-custom-post-type

Пример:

Добавьте пользовательское поле под названием «функция» в пользовательский тип сообщения, называемый «prefix-teammembers».

Сначала добавьте метабокс:

 function prefix_teammembers_metaboxes( ) { global $wp_meta_boxes; add_meta_box('postfunctiondiv', __('Function'), 'prefix_teammembers_metaboxes_html', 'prefix_teammembers', 'normal', 'high'); } add_action( 'add_meta_boxes_prefix-teammembers', 'prefix_teammembers_metaboxes' ); 

Если вы добавляете или редактируете «prefix- add_meta_boxes_{custom_post_type} крючок add_meta_boxes_{custom_post_type} . См. add_meta_box() для функции add_meta_box() . В приведенном выше вызове add_meta_box() используется prefix_teammembers_metaboxes_html , обратный вызов для добавления поля формы:

 function prefix_teammembers_metaboxes_html() { global $post; $custom = get_post_custom($post->ID); $function = isset($custom["function"][0])?$custom["function"][0]:''; ?> <label>Function:</label><input name="function" value="<?php echo $function; ?>"> <?php } 

На втором этапе у вас есть настраиваемое поле в базе данных. При сохранении save_post_{custom_post_type} запускается крючок (начиная с save_post_{custom_post_type} 3.7, см. https://stackoverflow.com/questions/5151409/wordpress-save-post-action-for-custom-posts ). Вы можете связать это, чтобы сохранить свое настраиваемое поле:

 function prefix_teammembers_save_post() { if(empty($_POST)) return; //why is prefix_teammembers_save_post triggered by add new? global $post; update_post_meta($post->ID, "function", $_POST["function"]); } add_action( 'save_post_prefix-teammembers', 'prefix_teammembers_save_post' ); 

// slider_metaboxes_html, функция для создания HTML-функции slider_metaboxes () {global $ wp_meta_boxes; add_meta_box ('postfunctiondiv', __ ('Пользовательская ссылка'), 'slider_metaboxes_html', 'слайдер', 'normal', 'high'); }

// add_meta_boxes_slider => add_meta_boxes_ {custom post type} add_action ('add_meta_boxes_slider', 'slider_metaboxes');

Отличное знание