Agrupar posts mediante un campo personalizado y poner al principio el post destacado

PHOTO EMBED

Mon Nov 07 2022 18:45:19 GMT+0000 (Coordinated Universal Time)

Saved by @netropol #php

add_action( 'pre_get_posts', 'mov_vec_archive_page' );

function mov_vec_archive_page( $query ) {
	
	 // Evita añadir meta argumentos en las páginas de adminsitración de WordPress
    if (is_admin()) {
        return;
    }
	// Solo lo aplico a un CPT determinado y a una taxonomía personalizada
    if( $query->is_main_query() && is_post_type_archive( 'nombre_de_mi_cpt' ) || $query->is_main_query() && is_tax('nombre_de_mi_custom_taxonomy')  ) {
		
		//Obtenemos la meta query original
        $meta_query = (array)$query->get('meta_query');

        // Aplico la modificación de la query
        $query->set( 'posts_per_page', '8' );
		
        $meta_query = array(
			
			'agrupar_listado_por_campo_personalizado' => array(
				'key' => 'nombre_campo_personalziado_para_agrupar_posts',
			),
			
			'destacado_del_listado' => array(
				'key' => 'nombre_campo_personalizado_true_false_acf',
			),
		);

        // Set the meta query to the complete, altered query
        $query->set( 'meta_query', $meta_query );
		$query->set( 'orderby', array( 'agrupar_listado_por_campo_personalizado' => 'ASC', 'destacado_del_listado' => 'DESC', 'title' => 'ASC'  ) );
		
	}
}
content_copyCOPY

https://www.billerickson.net/wp-query-sort-by-meta/

https://wordpress.stackexchange.com/questions/410968/modify-a-query-using-both-a-text-field-and-a-true-false-afc-field