Intereting Posts
Почему, когда я ввожу плохой URL-адрес, WordPress не возвращает ошибку 404 Длительное действие из плагина Как сделать ссылку на навигационную панель на внешнюю страницу? Отображение настраиваемого поля для внешней внешней линии, на всей территории Отображение случайного текста из файла с помощью встроенного API AJAX WP Как использовать один репозиторий git (github) для управления версиями для нескольких тем Написание пользовательских правил перезаписи, которые включают категорию для пользовательских типов сообщений? Запрос нескольких значений из одного ключа Страница не найдена ошибка при добавлении текста `2 = 2 ^ 1` на страницу Есть ли способ проверить, какой файл шаблона загружается, если он не является файлом шаблона страницы? Получение веб-кликов на веб-сайте wordpress Список предстоящих событий, упорядоченных по дате в настраиваемом поле Проблема с ссылкой utf8 Условный дисплей для пользовательских полей / таксономии Лучший способ добавить UnEdable HTML в сообщения

Как перенести сообщение в другой тип сообщения со всеми метаданными?

Я пытаюсь перенести сообщение из пользовательского типа сообщений, называемого «новые автомобили», на «проданные автомобили», используя плагин Post Type Switcher, и плагин работает хорошо, но все метаданные, связанные с этим сообщением, все еще принадлежащие «новому» легковых автомобилей …

Таким образом, проблема возникает, когда я перечисляю категории из типа «новые автомобили» и что «проданный автомобиль» делает, модель, цвет и другие мета все еще там …

У кого-то есть совет?

Solutions Collecting From Web of "Как перенести сообщение в другой тип сообщения со всеми метаданными?"

Как уже упоминалось в комментариях – изменение типа публикации сообщения только изменяет столбец «пост-тип». Все почтовые метаданные связаны с идентификатором сообщения, и это никогда не изменяется.

Однако вы можете не видеть эту информацию: если у старого типа сообщения был связанный с ним метабокс или таксономия, что новый тип сообщения не работает, тогда, когда отношение конвертированной записи с ее метаданными / таксономиями все еще существует в базе данных , он не появится на экране администратора.

Если у вас есть какие-либо обменные курсы или таксономии для вашего типа «новых автомобилей», вы также захотите зарегистрировать их вместе с «проданными автомобилями». Для таксономий это делается путем указания типов сообщений при регистрации:

 register_taxonomy('my-taxonomy',array('new_cars','sold_cars', $args); 

Или при регистрации пользовательского типа post_type (см. Register_post_type ( register_post_type() ) или с помощью register_taxonomy_for_object_type() .

Аналогичным образом вы захотите добавить свои обменные отношения к обоим типам сообщений:

 add_meta_box( $id, $title, $callback, 'new_cars', $context, $priority, $callback_args ) add_meta_box( $id, $title, $callback, 'sold_cars', $context, $priority, $callback_args ) 

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


Однако, из того, что вам кажется, вы должны использовать «автомобили» типа «пост» и зарегистрировать таксономию (например, «car_status»), а также существующую таксономию «make».

Затем автомобиль может быть связан с термином статуса автомобиля (например, «новый» или «проданный»).

Чтобы получить все новые автомобили make xyz, вы можете использовать аргумент get_posts для get_posts или WP_Query

 $args = array( 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'car_status', 'field' => 'slug', 'terms' => array( 'new') ), array( 'taxonomy' => 'make', 'field' => 'slug', 'terms' => array( 'xyz') ) ) ); $query = new WP_Query( $args )