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 11.1.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 );
}