Exclusão de Mídias Associadas a um Produto no WordPress

ActionPHPWoocommerce
A função excluir_midias_galeria_produto é projetada para deletar todas as mídias associadas a um produto no WordPress quando o produto é excluído. Isso inclui todas as imagens na galeria do produto, bem como a imagem destacada do produto.

Como instalar

  1. Copie o código fornecido.
  2. Cole o código no arquivo functions.php do seu tema WordPress ou em um plugin de funcionalidades personalizadas.
  3. Salve o arquivo e teste a funcionalidade excluindo um produto e verificando se todas as mídias associadas foram removidas.

Explicando o código

  • function excluir_midias_galeria_produto($post_id) {...}: Define uma função chamada excluir_midias_galeria_produto, que é acionada antes de um post ser deletado.
  • if (get_post_type($post_id) === 'product') {...}: Verifica se o tipo de post sendo deletado é um produto.
  • get_post_meta($post_id, '_product_image_gallery', true);: Obtém a galeria de imagens do produto.
  • if (!empty($gallery_ids)) {...}: Verifica se há imagens na galeria.
  • foreach ($gallery_ids_array as $gallery_id) {...}: Loop através de cada ID de mídia na galeria, excluindo cada mídia.
  • wp_delete_attachment($gallery_id, true);: Deleta a mídia associada do WordPress e do servidor.
  • get_post_thumbnail_id($post_id);: Obtém o ID da imagem destacada do produto.
  • if (!empty($featured_image_id)) {...}: Verifica se há uma imagem destacada.
  • add_action('before_delete_post', 'excluir_midias_galeria_produto');: Aciona a função excluir_midias_galeria_produto antes de um post ser deletado.

Códigos

Functions (php)

				
					function lab1_excluir_midias_galeria_produto($post_id) {
    if (get_post_type($post_id) === 'product') {
        $gallery_ids = get_post_meta($post_id, '_product_image_gallery', true);
        if (!empty($gallery_ids)) {
            $gallery_ids_array = explode(',', $gallery_ids);
            foreach ($gallery_ids_array as $gallery_id) {
                wp_delete_attachment($gallery_id, true);
            }
        }
        $featured_image_id = get_post_thumbnail_id($post_id);
        if (!empty($featured_image_id)) {
            wp_delete_attachment($featured_image_id, true);
        }
    }
}
add_action('before_delete_post', 'lab1_excluir_midias_galeria_produto');

				
			

Relacionados

Redirecionar para o Próximo Post Após um Número de Segundos Específico

Este código PHP permite redirecionar automaticamente os visitantes...
FunctionsPHP

Redirecionar para o Próximo Post Automaticamente

Este código PHP e JavaScript permite redirecionar automaticamente...
FunctionsPHP

Remover Logo do WP da Página de Login e Barra Admin

Este código remove o logotipo do WordPress da...
FunctionsPHP

Fale com a Lab1