sql >> Database teknologi >  >> RDS >> Mysql

Hvor er WooCommerce produktattributnøgle og værdi gemt

Det viser sig, at de er gemt i et serialiseret felt.

$attribute_name  = 'my-attribute';
$attribute_value = 'cupcakes';

$serialized_value = serialize( 'name' ) . serialize( $attribute_name ) . serialize( 'value' ) . serialize( $attribute_value ); 
$args = array(
    'post_type'      => 'product',
    'post_status'    => 'any',
    'posts_per_page' => -1,
    'orderby'        => 'title',
    'order'          => 'ASC',
    'meta_query' => array(
        array(
            'key'     => '_product_attributes',
            'value'   => $serialized_value,
            'compare' => 'LIKE',
        ),
    ),
);

$query = new WP_Query( $args );
$products = $query->get_posts();
//neat little array of product objects (not the full product object, 
//just data that came from query. Can use wordpress loop on $query or
//wc_get_product(--pass product ID here--)



  1. Hvordan analyserer du et simpelt XML-stykke i Oracle PL/SQL og indlæser det i en global midlertidig tabel?

  2. Kan ikke oprette forbindelse til Vagrant ved hjælp af HeidiSQL:Kan ikke oprette forbindelse til MySQL-server på 'localhost'

  3. Sådan konverteres mysql til sqlite3 ved hjælp af PHP

  4. Kunne ikke konvertere fra typen [java.lang.Object[]] til typen [@org.springframework.data.jpa.repository.Query