Intereting Posts
Получить категории из «Страница» Включить значения CPT в другой CPT? Сортировать по & include массиву по определенным идентификаторам У меня есть обычная таксономия, назначенная двум типам сообщений. Как создать URL-адреса для разных архивов терминов для каждого типа сообщений? Пользователь может видеть только свой профиль wp_list _table У вас недостаточно прав для доступа к этой странице. таможенный архив по годам Отображать теги / категории под заголовками на страницах архива портфолио? WP Rewrite Rules – Пользовательский тип сообщения и таксономия Как установить путь к изображению вместо alt в media.php? get_the_excerpt () проблемы – возвращает выдержку дважды или вообще нет? Перечислите 5 самых последних дочерних страниц Очень медленный запрос с meta_query в большой базе данных Как я могу отправить POST или GET на ту же страницу администратора, с которой я отправляю или получаю wp_nav_menu не выбирает правильное меню

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

Я пытаюсь перенести сообщение из пользовательского типа сообщений, называемого «новые автомобили», на «проданные автомобили», используя плагин 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 )