Intanto Grazie per l'intervento, avevo già visto quanto da te linkato, e sono veramente vicino alla soluzione infatti questa è la query a cui sono arrivato
SELECT
wp_posts.*
FROM
wp_posts
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id)
LEFT JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id )
LEFT JOIN wp_postmeta AS mt1 ON (wp_posts.ID = mt1.post_id AND mt1.meta_key = 'dir_featured' )
WHERE 1=1 AND
( wp_term_relationships.term_taxonomy_id IN (2159) ) AND
( ( wp_postmeta.meta_key = 'dir_featured' AND CAST(wp_postmeta.meta_value AS CHAR) = 'yes' ) OR mt1.post_id IS NULL ) AND wp_posts.post_type = 'ait-dir-item' AND ((wp_posts.post_status = 'publish')) GROUP BY wp_posts.ID
ORDER BY
wp_postmeta.meta_value DESC,
wp_posts.post_date DESC
mentre devo arrivare a questa
SELECT
** IF(wp_postmeta.meta_value = 'yes',post_date,'zz') as mv,**
wp_posts.*
FROM wp_posts
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id)
LEFT JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id )
LEFT JOIN wp_postmeta AS mt1 ON (wp_posts.ID = mt1.post_id AND mt1.meta_key = 'dir_featured' )
WHERE
( wp_term_relationships.term_taxonomy_id IN (".$queried_object ->term_id.") ) AND
( ( wp_postmeta.meta_key = 'dir_featured' AND CAST(wp_postmeta.meta_value AS CHAR) = 'yes' ) OR mt1.post_id IS NULL ) AND
wp_posts.post_type = 'ait-dir-item' AND
wp_posts.post_status = 'publish'
GROUP BY
wp_posts.ID
ORDER BY
**mv ASC,**
wp_posts.post_date DESC
in grassetto ho messo cosa cambia fra le 2.
avevo percorso la strada di utilizzare direttamente la query sul codice, ma mi serve il risultato come lo restituisce ik WP_Query visto il codice già esistente, andarlo a stravolgere non sarebbe proprio il caso.
quì i parametri utilizzati fino ad ora
$params = array(
'post_type' => 'ait-dir-item',
'nopaging' => true,
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'dir_featured',
'value' => 'yes',
'compare' => '='
),
array(
'key' => 'dir_featured',
'value' => '',
'compare' => 'NOT EXISTS'
)
) ,
'orderby' => array( 'dir_featured' => 'DESC','post_date' => 'DESC' ),
'post_status' => 'publish',
'tag__in' => $queried_object ->term_id
);
Grazie ancora attendo info