Intereting Posts
Помещение пробела между кнопками изменить роль пользователей WordPress при редактировании профиля WP 3.0.5: Лучший способ добавить пользовательские обмены для почтовых категорий? Автоматическое заполнение поля мета-поля из другого поля мета-поля при публикации или сохранении Как изменить индивидуальный шаблон сообщения по пользовательской таксономии? Опубликовать пользовательские метаклассы метабокса с помощью wp_editor Как удалить ранее установленную настройку? Как получить заголовок категории публикации в цикле? Перевести slug в WPMU с файлами PO Что я должен использовать, get_posts или wp_query для меньшей загрузки процессора? Как переместить мою страницу в главное меню панели управления WordPress Как подключить и изменить новый пользовательский интерфейс ревизий (3.6+)? Реализация веб-сайта для хостинга изображений с использованием WordPress? Установка с помощью SQL Server Express Edition Как запустить Jetpack с localhost?

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

У меня есть три разных типа записей:

register_post_type( 'foo' , $args ); register_post_type( 'bar' , $args ); register_post_type( 'baz' , $args ); 

Когда я создаю новое, скажем, сообщение «foo», я хочу сохранить мета-поле для «foo», что мне делать?

add_action ('save_post', 'save_details');

Итак, если мой post_type был вызван «foo_post»:

 add_meta_box( $id, $title, $callback, // SPECIFY THE POST TYPE HERE!!! "foo_post", $context, $priority, $callback_args ); 

Что мне делать, чтобы сохранить мета-поле «foo post» при создании / редактировании страницы «foo post»?

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

Поскольку save_post дает вам post_id текущего сообщения, вы просто хотите проверить, какой post_type он использует, используя get_post_type ($ post_id)

как:

 add_action('save_post', 'save_details') function save_details($post_id) { $post_type = $_REQUEST['post_type']; if ('foo_post' == $post_type) { // save stuff for foo_post } elseif ('bar_post' == $post_type) { // save stuff for bar_post } } 

и так далее…

get_post_type () codex-страница

Я предполагаю, что вы говорите о метаположении пользовательских сообщений? Если это так, то вам нужно убедиться, что вы * укажете $posttype при вызове add_meta_box() . например:

 <?php add_meta_box( $id, $title, $callback, // SPECIFY THE POST TYPE HERE!!! $post_type, $context, $priority, $callback_args ); ?> 

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