Un cliente compró un tema de WordPress «listo para WooCommerce» premium. Desafortunadamente, esto El tema viene con una carpeta A /WooCommercelo que significa que los desarrolladores de temas anulan por completo los archivos de plantilla de WooCommerce copiándolos a la carpeta y personalizando a cada uno de ellos a mano para que coincidan con sus necesidades de diseño y funcionalidad.
Como sabes de mi «¿Cómo convertirse en un desarrollador avanzado de WooCommerce?«Artículo, sin embargo, Los temas no deben venir con una carpeta A /WooCommerce – En su lugar, deben usar «ganchos» (acciones y filtros) para enmendar los diseños y comportamientos de complementos predeterminados de WooCommerce. Este es un gran problema para los temas de best seller y su codificación heredada, y también una razón por la que la mayoría de los temas se rompen cuando actualizas WooCommerce …
Entonces, la pregunta que me hice fue: ¿Cómo puedo deshabilitar toda la carpeta /WooCommerce (es decir, todas las anulaciones de plantilla de WooCommerce) en un tema determinado o en una sola plantilla, para que pueda usar los WooCommerce predeterminados en su lugar?
Opción 1: Deshabilitar la carpeta de temas /wooCommerce a través de FTP o Administrador de archivos
Lo más fácil de hacer es ir a la carpeta de su tema dentro de WP-Content y cambiar el nombre de la carpeta /WooCommerce a algo más, por ejemplo, Discapeded-WooCommerce (ver captura de pantalla).
Súper fácil, pero la próxima vez que actualice el tema, necesitaría volver a hacer esto. Y créeme, probablemente lo olvidará y su sitio de WooCommerce se romperá nuevamente …
Opción 2: Deshabilite todas las anulaciones de WooCommerce a través de WP-Config.php
Esta es una pequeña joya (gracias a Damien Carbery). Si estudia archivos de complemento de WooCommerce, y específicamente el wc_get_template_part() función, verá una nota:
Wc_template_debug_mode evitará que las anulaciones en los temas tengan prioridad
Entonces, gracias a Damien, agregué la siguiente línea a wp-config.php:
/** * @snippet Disable WooCommerce Theme Overrides Via wp-config * @how-to businessbloomer.com/woocommerce-customization * @author Rodolfo Melogli, Business Bloomer * @compatible WooCommerce 6 * @community https://businessbloomer.com/club/ */ define( 'WC_TEMPLATE_DEBUG_MODE', true );
Opción 3: Deshabilite una sola anulación de WooCommerce (Functions.php)
/** * @snippet Load Original WooCommerce Template * @how-to businessbloomer.com/woocommerce-customization * @author Rodolfo Melogli, Business Bloomer * @compatible WooCommerce 6 * @community https://businessbloomer.com/club/ */ add_filter( 'wc_get_template', 'bbloomer_dont_load_cart_template_theme_override', 9999, 5 ); function bbloomer_dont_load_cart_template_theme_override( $template, $template_name, $args, $template_path, $default_path ) { if ( $template_name == 'cart/cart.php' ) { $default_path = WC()->plugin_path() . '/templates/'; $template = $default_path . $template_name; } return $template; }
Valores posibles para $ plantplate_name:
- ‘Archive-Product.php’
- ‘CABELA/FORM-Billing.php’
- ‘Campe/formulario-shipping.php’
- ‘Correo electrónico/correo electrónico-header.php’
- ‘Correos electrónicos/correo electrónico-footer.php’
- ‘Correos electrónicos/correo electrónico-cliente-decetails.php’
- ‘Correos electrónicos/correo electrónico-styles.php’
- ‘Producto único/Agregar a Cart/Variation.php’
- ‘Cart/Cart-Eempty.php’
- ‘Cart/Cart.php’
- ‘CABELA/PEDIDO-RECEIPT.PHP’
- ‘Valorización/gracias.php’
- ‘Checkout/Cart-errores.php’
- ‘Campe/Form-Checkout.php’
- ‘myaccount/form-login.php’
- ‘myaccount/form-edit-account.php’
- ‘myaccount/Lost-password-confirmation.php’
- ‘myAccount/form-add-payment-method.php’
- ‘Orden/Tracking de formulario.php’
- ‘Orden/pedido-retraso-customer.php’
- ‘Global/Wrapper-start.php’
- ‘Global/Wrapper-End.php’
- ‘Global/Sidebar.php’
- ‘Loop/Loop-start.php’
- ‘Loop/Loop-end.php’
- ‘Loop/Add-to–Cart.php’
- ‘Loop/Price.php’
- ‘Loop/Rating.php’
- ‘Loop/Sale-Flash.php’
- ‘Loop/Result-Count.php’
- ‘Loop/Pagination.php’
- ‘Producto único/Product-Image.php’
- ‘Producto único/Product-Menuras.php’
- ‘Producto único/Tabs/Tabs.php’
- ‘Producto único/Title.php’
- ‘Producto único/calificación.php’
- ‘Producto único/Price.php’
- ‘Producto único/Descripción corta.php’
- ‘Producto único/meta.php’
- ‘Producto único/Share.php’
- ‘Producto único/Sale-Flash.php’
- ‘Producto único/Agregar a Cart/Simple.php’
- ‘Global/Cantidad-Input.php’
- ‘Producto único/Tabs/Descripción.php’
- ‘Producto único/Tabs/adicional-Information.php’
- ‘Producto único/clasificación de revisión.php’
- ‘Producto único/revisión-Meta.php’
- ‘Producto único/Relacionado.php’
- ‘Cart/carrito-Totals.php’
- ‘CART/PROGRESO TO CHECKOUT-BUTTON.PHP’
- ‘Cart/Mini-Cart.php’
- ‘Global/Form-Login.php’
- ‘Global/Breadcrumb.php’
- ‘Auth/Header.php’
- ‘Auth/Footer.php’
- ‘Producto único/Agregar a Cart/Variation-Add-To-Cart-Button.php’
- ‘myaccount/navigation.php’
- ‘myaccount/downloads.php’
- ‘myAccount/PAGY-METHODS.PHP’
- ‘myaccount/my-address.php’
- ‘Loop/No-Products-Found.php’
- ‘Producto único/Photoswipe.php’
- ‘Cart/Cart-Item-Data.php’
- ‘Content-widget-product.php’
- ‘CABACIÓN/TERMS.PHP’