Je crée un plugin qui ajoute des fonctionnalités à woocommerce. Je n'aime pas la page fade woocommerce "mon tableau de bord de compte" et j'aimerais changer l'apparence du tableau de bord. J'ai cherché en ligne et il semble que la seule façon de le faire serait de modifier le thème ou le modèle à l'intérieur du plugin woocommerce lui-même.
Je souhaite rendre mon plug-in aussi portable que possible, c'est pourquoi je souhaite que mon plug-in modifie la page du tableau de bord de mon compte et non le code PHP du modèle ou du plug-in woocommerce. Y at-il un moyen de faire cela comme un plugin?
J'ai fini par le faire d'une manière que je considérerais comme une tâche bâclée. Sur le crochet init
, je compare le modèle WooCommerce à mon modèle personnalisé et si le modèle WooCommerce ne correspond pas à mon modèle, je remplace le modèle WooCommerce par mon modèle.
add_action( 'init', 'run_inital' );
function run_inital(){
$wooThemePath = $woocommerce->plugin_path()."/templates/myaccount/dashboard.php";
$myThemeFile = file_get_contents(plugin_dir_path( __FILE__ )."/WooCommerce/dashboard.php");
$WooThemeFile = file_get_contents($wooThemePath);
if($myThemeFile != $WooThemeFile){
$Woo_Theme = fopen($wooThemePath, "w");
fwrite($Woo_Theme, $myThemeFile);
}
}
Si vous souhaitez améliorer cet extrait, vous devez vérifier si la taille des fichiers est différente au lieu de comparer le contenu.