So verstecken Sie Produkte mit einem höheren Preis als 1 auf WooCommerce-Shop- und Archivseiten

Lesezeit: 1 Minute

Benutzer-Avatar
acfree191

Ich verwende diesen Code, um Produkte auf der Shop-Seite auszublenden, deren Produktpreis höher als 1 ist.

Allerdings ohne das gewünschte Ergebnis. Wo läuft es schief?

Mein Code:

add_action( 'woocommerce_product_query', 'react2wp_hide_products_higher_than_1' );
function react2wp_hide_products_higher_than_1( $q ){
if ( is_shop() ) {
   $meta_query = $q->get( 'meta_query' );
   $meta_query[] = array(
  'key'       => '_price',
  'value'     => 1,
  'compare'   => '>'
   );
    }
   $q->set( 'meta_query', $meta_query );
}

Benutzer-Avatar
7uc1f3r

  • Du bist nah dran, füge hinzu type

'type' => 'numeric' // specify it for numeric values

Typ (Zeichenfolge) – Benutzerdefinierter Feldtyp. Mögliche Werte sind 'NUMERIC', 'BINARY', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'SIGNED', 'TIME', 'UNSIGNED'. Standardwert ist 'CHAR'.


  • vergleichen (String) – Bediener zum Testen. Mögliche Werte sind '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN', 'EXISTS' (nur in WP >= 3.5), und 'NOT EXISTS' (ebenfalls nur in WP >= 3.5). Werte 'REGEXP', 'NOT REGEXP' und 'RLIKE' wurden in WordPress 3.7 hinzugefügt. Standardwert ist '='.

Ergebnis:

Dadurch werden alle Produkte, deren Preis höher als 1 ist, auf der Produktarchivseite (Shop) ausgeblendet.

function react2wp_hide_products_higher_than_1( $q, $query ) {
    // Returns true when on the product archive page (shop).
    if ( is_shop() ) {
        // Get any existing meta query
        $meta_query = $q->get( 'meta_query' );

        // Define an additional meta query 
        $meta_query[] = array(
            'key'        => '_price',
            'value'      => 1,
            'type'       => 'numeric', // specify it for numeric values
            'compare'    => '<'
        );

        // Set the new merged meta query
        $q->set( 'meta_query', $meta_query );
    }
}
add_action( 'woocommerce_product_query', 'react2wp_hide_products_higher_than_1', 10, 2 );

1016350cookie-checkSo verstecken Sie Produkte mit einem höheren Preis als 1 auf WooCommerce-Shop- und Archivseiten

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy