Automattic\WooCommerce\Internal\DataStores\Orders
OrdersTableDataStore::maybe_create_backup_post()
Takes care of creating the backup post in the posts table (placeholder or actual order post, depending on sync settings).
Метод класса: OrdersTableDataStore{}
Хуков нет.
Возвращает
int
. The new post ID.
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->maybe_create_backup_post( $order, $context ): int;
- $order(\WC_Abstract_Order) (обязательный) (передается по ссылке — &)
- The order.
- $context(строка) (обязательный)
- The context: either 'create' or 'backfill'.
Список изменений
С версии 8.8.0 | Введена. |
Код OrdersTableDataStore::maybe_create_backup_post() OrdersTableDataStore::maybe create backup post WC 9.7.1
protected function maybe_create_backup_post( &$order, string $context ): int { $data_sync = wc_get_container()->get( DataSynchronizer::class ); $data = array( 'post_type' => $data_sync->data_sync_is_enabled() ? $order->get_type() : $data_sync::PLACEHOLDER_ORDER_POST_TYPE, 'post_status' => 'draft', 'post_parent' => $order->get_changes()['parent_id'] ?? $order->get_data()['parent_id'] ?? 0, 'post_date' => gmdate( 'Y-m-d H:i:s', $order->get_date_created( 'edit' )->getOffsetTimestamp() ), 'post_date_gmt' => gmdate( 'Y-m-d H:i:s', $order->get_date_created( 'edit' )->getTimestamp() ), ); if ( 'backfill' === $context ) { if ( ! $order->get_id() ) { return 0; } $data['import_id'] = $order->get_id(); } return wp_insert_post( $data ); }