Supprimer / shop / des URL WooCommerce
Actuellement, j'ai une installation WooCommerce où les URL des produits sont produites comme telles:
domain.com/shop/product-category/product-name/
En raison du référencement et de la structure actuelle du site, j'aimerais le changer pour:
domain.com/product-category/product-name/
Je sais comment supprimer la boutique du fil d'Ariane à l'aide du filtre woocommerce_get_breadcrumb, mais je ne sais pas comment procéder pour les URL elles-mêmes.
Tout ce que j'ai trouvé sur Stack Overflow, ce sont des gens qui recommandent d'installer un plugin appelé Premmerce. Ce plugin a une version premium et vous oblige constamment à mettre à niveau: Suppression de / product-category / et / shop / de l'URL dans WooCommerce
Je voudrais faire cela par programmation à partir de mon propre plugin ou simplement functions.php
Réponses
WooCommerce force / product / sur vous si vous essayez de saisir uniquement /% product_cat% / dans le panneau permaliens via class-wc-admin-permalink-settings.php. Le permalinks wc est une option appelée "woocommerce_permalinks". Puisque je ne veux avoir que /% product_cat% /, je peux simplement le forcer même si ce n'est pas la solution la plus élégante:
add_action( "update_option_woocommerce_permalinks", "apply_product_cat", 10, 3 );
function apply_product_cat( $old_val, $new_val, $option_name ) { if ($option_name == "woocommerce_permalinks") {
$new_val['product_base'] = "/%product_cat%/"; update_option( "woocommerce_permalinks", $new_val );
}
}
Premmerce vous propose effectivement un autre panneau d'administration, dans lequel ils enregistrent eux-mêmes cette option.