WP_Query für “Eigenschaft” in der Optionstabelle

Ich bin ziemlich neu in WP und ich hoffe, dass diese Frage nicht als zu spezifisch angesehen wird. Es ist nicht ganz an meine kleine “Vorgeschichte” gebunden. Ich würde gerne eine Antwort auf diese Frage für zukünftige Fälle auch gerne.

Ich bekomme ein Projekt, das WooCommerce verwendet, und ein Plug-in, das man Produktanbietern nennt.

Die Taxonomie für dieses Plugin heißt “shop_vendor”. Es enthält einige zusätzliche Daten (Anbieter-Admins, Provision und PayPal-E-Mail-Adresse), die in der Optionstabelle gespeichert sind. Wir fügten dann weitere Felder (Adresse, Featureflag und Typ (Person oder Geschäft)) zu dieser Taxonomie in der gleichen Weise hinzu.

Wir haben dann eine API erstellt, die nur Produktinformationen basierend auf Filterparametern erhalten kann. Es verwendet Code aus der WooCommerce REST API, die Abfragefunktion kann hier gefunden werden . Um die anderen Filter zu behandeln, habe ich soeben dem Array $ query_args mehr hinzugefügt. So habe ich es geschafft, nach dem Vendor Slug zu filtern.

if ( ! empty( $args['shop_vendor'] ) ) { $vendor_query = array( 'taxonomy' => 'shop_vendor', 'field' => 'slug', 'terms' => $args['shop_vendor'] ); array_push ( $query_args['tax_query'] , $vendor_query ); unset($args['shop_vendor']); } 

Hier ist nach einer kleinen Textwand, wo mein Problem auftaucht. Ich muss die Produkte auf dem Kreditorentyp filtern, den wir dem Kreditor hinzugefügt haben. Der Rest der Filterung erfolgt mit WP_Query. Ich kann nicht herausfinden, wie man Daten aus der Optionstabelle in eine WP_Query einbaut.

Jede Hilfe wird geschätzt.

Danke im Voraus, Ludvig

== Bearbeiten ==============================================

Also .. Diese Frage bezieht sich NICHT “primär auf Plugins von Drittanbietern”. Ich habe das Plugin nur als Teil der “Geschichte” erwähnt, hinter der ich zu meinem eigentlichen Problem gestoßen bin.

Das Problem besteht in einer kürzeren Version darin, dass einige der Daten, auf die ich filtern möchte, in der so gestalteten Optionstabelle liegen;

 a:6:{ s:6:"admins"; a:1:{ i:0; s:1:"1"; } s:10:"commission"; s:2:"50"; s:12:"paypal_email"; s:0:""; s:11:"is_featured"; s:1:"1"; s:4:"type"; i:1; s:13:"ssn_or_org_no"; s:10:"1234567890"; } 

Der Wert für option_name in der Optionstabelle lautet shop_vendor_ [id] (wobei die ID die 184 in der folgenden SQL-Abfrage ist).

Die WP_Query, die ich habe (ohne die zusätzlichen optionalen Filter), ist dieser SQL-Frage gleich.

 SELECT wp_posts.ID FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) INNER JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id) WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id IN (184) ) AND wp_posts.post_type = 'product' AND ((wp_posts.post_status = 'publish')) AND ( (wp_postmeta.meta_key = '_stock_status' AND CAST(wp_postmeta.meta_value AS CHAR) = 'instock') ) GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC; 

Was ich wissen möchte ist, wie kann ich, wenn möglich, zu dieser WP_Query hinzufügen, als ob ich in der Optionstabelle beigetreten wäre und dann die Spalte “Typ” überprüft hätte.

Gibt es noch etwas, das ich erklären muss, oder habe ich dieses Problem besser beschrieben?

Grüße, Ludvig

Solutions Collecting From Web of "WP_Query für “Eigenschaft” in der Optionstabelle"