Ce code va vous permettre d’ajouter un onglet personnalisé dans la page mon compte de woocommerce et d’insérer dans cet onglet un shortcode elementor et d’injecter un modèle personnalisé.
Remplacez « facture-client » par ce que vous souhaitez à trois endroits
Enfin, toutes les lignes mise en avant sont à modifier par vos besoins.
/*Ajout d'un onglet dans le compte client pour demander la facture - Add a new tabs inside the WooCommerce My Account */
/**
* 1. Enregistrer l'endpoint
*/
function wycan_facture_register_endpoint() {
add_rewrite_endpoint( 'facture-client', EP_ROOT | EP_PAGES );
}
add_action( 'init', 'wycan_facture_register_endpoint' );
/**
* 2. Déclarer la query var auprès de WooCommerce
*/
function wycan_facture_query_vars( $vars ) {
$vars[] = 'facture-client';
return $vars;
}
add_filter( 'woocommerce_get_query_vars', 'wycan_facture_query_vars' );
/**
* 3. Ajouter l'onglet dans le menu Mon compte (avant "Déconnexion")
*/
function wycan_facture_menu_item( $items ) {
$logout = $items['customer-logout'] ?? null;
unset( $items['customer-logout'] );
$items['facture-client'] = __( 'Demander une facture', 'wycan' );
if ( $logout ) {
$items['customer-logout'] = $logout;
}
return $items;
}
add_filter( 'woocommerce_account_menu_items', 'wycan_facture_menu_item' );
/**
* 4. Afficher le contenu de l'onglet
*/
function wycan_facture_endpoint_content() {
echo '';
echo '' . esc_html__( 'Demander une facture', 'wycan' ) . '
';
echo 'Vous avez effectué une commande sur notre site et vous souhaitez obtenir la facture de celle-ci ? '
. 'Remplissez le formulaire ci-dessous et nous reviendrons vers vous au plus vite avec la facture.
';
echo do_shortcode( '[votre_shortcode_ici]' );
echo '';
}
add_action( 'woocommerce_account_facture-client_endpoint', 'wycan_facture_endpoint_content' );