Se queres remover todas as encomendas do WooCommerce e os respetivos dados do teu site de staging antes de o entregares ao programador, podes seguir uma destas duas abordagens:
Executar um script SQL no site de staging
Executar este script SQL no site de staging elimina as encomendas do WooCommerce e os respetivos metadados:
DELETE wpstg0_posts, wpstg0_postmeta, wpstg0_woocommerce_order_items, wpstg0_woocommerce_order_itemmeta
FROM wpstg0_posts
LEFT JOIN wpstg0_postmeta ON wpstg0_posts.ID = wpstg0_postmeta.post_id
LEFT JOIN wpstg0_woocommerce_order_itemmeta ON wpstg0_postmeta.post_id = wpstg0_woocommerce_order_itemmeta.order_item_id
LEFT JOIN wpstg0_woocommerce_order_items ON wpstg0_posts.ID = wpstg0_woocommerce_order_items.order_item_id
WHERE wpstg0_posts.post_type = "shop_order"
AND wpstg0_posts.post_date < '2022-07-14';Tens de mudar wpstg0_ para o prefixo de tabelas correto do site de staging e alterar 2022-07-14 para a data atual antes da qual queres eliminar as encomendas.
Também podes envolver este comando SQL numa função e executá-lo logo após a clonagem do site de staging utilizando o filtro “wpstg.clone_first_run“.
add_action( 'wpstg.clone_first_run', array($this, 'wpstg_execute_after_cloning' ), 10);
function wpstg_execute_after_cloning() {
// add your code
}Podes usar esse filtro no Plugin WP STAGING Hooks ou como um mu-plugin normal, seguindo este guia.
Excluir encomendas do WooCommerce e respetivos metadados ao criar o site de staging
Também podes excluir as encomendas do WooCommerce e os respetivos metadados logo no início do processo de clonagem.
Para isso, podes utilizar este filtro:
function queryCloningRows($filters) {
$myFilters = [
// Clone only posts which do not belong to post_type shop_order
'wp_posts' => [
'post_type' => [
'operator' => 'NOT LIKE',
'value' => 'shop_order'
]
],
// will filter postmeta depending upon filtered data in wp_posts, see above wp_posts filter
'wp_postmeta' => [
'join' => [
'table' => 'wp_posts',
'primaryKey' => 'ID',
'foreignKey' => 'post_id',
]
],
'wp_woocommerce_order_items' => [
'join' => [
'table' => 'wp_posts',
'primaryKey' => 'ID',
'foreignKey' => 'post_id',
]
],
'wp_woocommerce_order_itemmeta' => [
'join' => [
'table' => 'wp_posts',
'primaryKey' => 'ID',
'foreignKey' => 'post_id',
]
]
];
return array_merge($filters, $myFilters);
}
add_filter('wpstg.cloning.database.queryRows', 'queryCloningRows');Este filtro pode ser usado no Plugin WP STAGING Hooks ou como um mu-plugin normal, seguindo este guia.
NOTA: seguindo as abordagens acima, vais eliminar todas as encomendas e os dados relevantes do site de staging. Isso significa que não podes enviar o site de staging para o site em produção, porque também eliminaria as encomendas do WooCommerce do teu site em produção. Por isso, isto deve ser usado apenas para testes e desenvolvimento (caso estejas disposto a copiar as alterações manualmente para o site em produção depois de o programador concluir o trabalho).