Un utente ha chiesto informazioni su Developing with WordPress di Wordpress

Ordina due campi personalizzati nella stessa colonna

Un utente ha chiesto 👇

Hey,

Ho una mailing list, una delle colonne ha uno dei due diversi campi personalizzati, uno è un normale campo personalizzato e l’altro è un campo oggetto post che si concentra su un altro tipo di post personalizzato.
Voglio che la colonna sia in ordine alfabetico. La domanda che ho posto finora è: (ma lo stile non è nell’ordine corretto.)
customer_name è l’oggetto di posta di cui viene visualizzato il titolo del lavoro.
Quick_customer_name è un normale campo personalizzato.

'meta_query' => array(
	'relation' => 'OR',
	'customer_name' => array(
		'key' => 'customer_name',
		'compare' => 'EXISTS',
	),
	'quick_customer_name' => array(
		'key' => 'quick_customer_name',
		'compare' => 'EXISTS',
	),
),
'orderby' => array(
	'customer_name' => 'desc',
	'quick_customer_name' => 'desc',
)
);

Qualcuno ha idea di cosa sto facendo di sbagliato?

Tutta l’assistenza è altamente apprezzata!

(@anilankola)

1 anno, 8 mesi fa

Ciao, @ viktorbengtsson8
usa questa domanda


$query_options = array(	
	'post_type'     => 'POST_TYPE_NAME_HERE',
	'posts_per_page' => -1,
	'meta_query' => array(
		'customer_name' => array(
			'key' => 'customer_name',
			'compare' => 'LIKE',
		),
		'quick_customer_name' => array(
			'key' => 'quick_customer_name',
			'compare' => 'LIKE',
		),
		
	),
	'orderby' => array(
		'customer_name' => 'desc',
		'quick_customer_name' => 'desc',
	)
);

Lanciatore di thread

(@ viktorbengtsson8)

1 anno, 8 mesi fa

Ciao @anilankola, grazie per la risposta!

Quando sono passato da EXISTS a LIKE ho ottenuto un risultato simile prima quando le righe che avevano uno di quei campi sono arrivate in cima, ma non in ordine alfabetico. Quando ho rimosso la relazione OR apparivano solo le righe con “nome_cliente” e non quelle con “nome_cliente_veloce” o valori vuoti.

Forse dovrei pubblicare l’intera domanda. (relativo a sinistra OR dove sotto)

$posts_per_page = 10;
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$args = array(
    'post_type' => 'offerter',
    'post_status' => 'publish',
    'posts_per_page' => $posts_per_page,
    'paged' => $paged,
    'meta_key' => 'business_id',
    'meta_value' => $business_id,
    'meta_query' => array(
        'relation' => 'OR',
        'customer_name' => array(
            'key' => 'customer_name',
            'compare' => 'LIKE',
        ),
        'quick_customer_name' => array(
            'key' => 'quick_customer_name',
            'compare' => 'LIKE',
        ),
    ),
    'orderby' => array(
        'customer_name' => 'desc',
        'quick_customer_name' => 'desc',
    )

Questa risposta è stata modificata 1 anno, 8 mesi fa da.

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *