Autor Zpráva
matata8611
Profil
Zdravím,
mám příspěvky v post type Požadavky na správce. 2 z nich mají key stav požadavku nastaven na 1 jeden z nich ma email_send na 0. Když dám ale tento kod, zobrazuji se mi vsechny ctyri prispevky. Co delam prosím špatne.

<?php 
$args = array( 
'post_type' => 'požadavky na správce', 
'showposts'   => '100', 
'meta_query' => array( 
                    'relation' => 'AND', 
                    array( 
                        'meta_key'   => 'email_send', 
                        'value'   => '0', 
                        'compare' => 'LIKE' 
                    ), 
                    array( 
                        'meta_key'   => 'stav_požadavku', 
                        'meta_value'   => '1', 
                        'meta_compare' => '=' 
                    ) 
            ) 
); 
$my_query = new WP_Query($args); ?>

echo $my_query->request; vypíše:
SELECT SQL_CALC_FOUND_ROWS wp_3_posts.ID FROM wp_3_posts INNER JOIN wp_3_postmeta ON ( wp_3_posts.ID = wp_3_postmeta.post_id ) WHERE 1=1 AND wp_3_posts.post_type = 'poadavkynasprvce' AND (wp_3_posts.post_status = 'publish' OR wp_3_posts.post_status = 'private') AND ( CAST(wp_3_postmeta.meta_value AS CHAR) LIKE '%0%' ) GROUP BY wp_3_posts.ID ORDER BY wp_3_posts.post_date DESC LIMIT 0, 100

co delam prosim spatne?
snazimse
Profil
matata8611:

Jen bych ověřil,

wp_3_posts.post_type = 'poadavkynasprvce' tohle se nějak deformuje s tou diakritikou.
matata8611
Profil
tím to bohužel není ... nevim co s tim :(
snazimse
Profil
matata8611:

Všechny parametry jsou v pořádku?

Když zadáte 'value' => '2',, zobrazí se něco(nemělo by)? Pokud ano, tak podmínku zřejmě ignoruje, pokud není chyba jinde.

S Wp, jsem déle nepracoval a už nevím jak to tam je s meta_neco a bez, ale nemá to být 'key' => 'email_send'

Je třeba vyzkoušet, nebo se kouknout do manuálu.

Zkusil bych to tak:
<?php 
$args = array( 
'post_type' => 'požadavky na správce', 
'showposts'   => '100', 
'meta_query' => array( 
                    'relation' => 'AND', 
                    array( 
                        'key'   => 'email_send', 
                        'value'   => '0', 
                        'compare' => 'LIKE' 
                    ), 
                    array( 
                        'key'   => 'stav_požadavku', 
                        'value'   => '1', 
                        'compare' => '=' 
                    ) 
            ) 
); 
$my_query = new WP_Query($args); ?>


PS: Jinak ani tak bych si nebyl jistý tou diakritikou.Netuším jak to wp, převadí.
Musilda
Profil
Ta diakritika bude problém "požadavky na správce", to pro WordPress není posty type, protože tam jsou mimo diakritiky i mezery.
Navíc je v dotazu vidět, jak se to snaží WordPress zpracovat - "poadavkynasprvce".
Stejně tak všechny key u meta bez diakritiky. stav_požadavku neprojde.
snazimse
Profil
Musilda:

To je asi fakt, zajímavější je proč mu to zpracuje a nevyhodí nějakou wp exception.Ošemetné.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: