WooCommerce: ocultar widgets condicionalmente

Puede usar un complemento popular llamado Widget Logic o, en su lugar, puede mantenerlo simple con unas pocas líneas de PHP. Aquí hay un fragmento para usted en caso de que necesite ocultar condicionalmente un determinado widget de la barra lateral dada una condición, por ejemplo, si está en la página del carrito.

Por supuesto, puede usar cualquiera de las etiquetas condicionales de WooCommerce disponibles y hacer esto más complejo, pero en este ejemplo lo mantendremos simple y verificaremos si estamos mirando la página del carrito (gracias al condicional is_cart() ). ¡Disfrutar!

El ID del widget "woocommerce-products-2" que quiero ocultar en la página del carrito de WooCommerce

Fragmento de código de PHP: elimine un widget de la barra lateral si @ WooCommerce Cart Page

Nota: deberá encontrar la ID de la barra lateral ( vaya al panel de WordPress > "Apariencia" > "Widgets" y haga clic con el botón derecho en la barra lateral en cuestión. Haga clic en Inspeccionar en Google Chrome y busque la ID de la barra lateral ) y la ID del widget ( vea la captura de pantalla anterior para ver una forma de hacerlo: haga clic con el botón derecho en el widget, haga clic en Inspeccionar en Google Chrome y busque el DIV ID del widget ).

Con respecto a mi fragmento de muestra a continuación, descubrí que la ID de la barra lateral es ' sidebar-1 ' y la ID del widget que quería ocultar es ' woocommerce_products-2 '. Debe asegurarse de que está apuntando a la barra lateral/widget correcto o el código no funcionará.

/**
 * @snippet       Hide Sidebar Widget @ WooCommerce Cart
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 3.7
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
 
add_filter( 'sidebars_widgets', 'bbloomer_woocommerce_conditionally_hide_widget' );
 
function bbloomer_woocommerce_conditionally_hide_widget( $sidebars_widgets ) {
    if( ! is_admin() ) {
      if ( is_cart() ) {
            $key = array_search( 'woocommerce_products-2', $sidebars_widgets['sidebar-1'] );
            if( $key ) {
               unset( $sidebars_widgets['sidebar-1'][$key] );
         }
      }
    }
    return $sidebars_widgets;
}

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir