j'essaie d'apporter des modifications au plug-in de codes-barres woocommerce. Je souhaite supprimer cette action du plugin class-woocommerce-order-barcodes.php:
class WooCommerce_Order_Barcodes {
...
public function __construct ( $file = '', $version = '1.0.0' ) {
...
add_action( 'woocommerce_order_details_after_order_table', array( $this, 'get_display_barcode' ), 1, 1 );
...
}
}
La raison pour laquelle je veux supprimer est parce que j'ai déjà l'extrait de code à barres à un autre endroit (à l'intérieur d'un DIV rangé dans mon modèle enfant order-detail.php) et que celui inséré par le plugin est automatiquement répété ci-dessous (voir image) Code à barres de l’ordre Woocommerce . Le code personnalisé à l'intérieur du modèle est celui-ci
<div class="barcode">
<?php echo WC_Order_Barcodes()->display_barcode($order_id);?>
</div>
Bien sûr, si un supprime manuellement l'add_action de la classe de plugin, j'obtiens le résultat que je veux, mais je ne veux pas modifier les fichiers du plugin. Une idée?
Merci d'avance.
EDIT: l'article de ici n'a pas résolu mon problème, j'utilise le code ci-dessous et cela n'a pas résolu le problème = (
Vous devez accéder à la variable de classe pour supprimer une action ajoutée dans une classe.
function remove_default_order_barcode(){
global $WooCommerce_Order_Barcodes ;
remove_action( 'woocommerce_order_details_after_order_table', array( $WooCommerce_Order_Barcodes, 'get_display_barcode' ), 1, 1 );
}
add_action('init','remove_default_order_barcode');
espérons que cela vous aidera!