WordPress : Modifier l’ordre des boucles via un formulaire ou un lien (jquery, pas d’URL)

Publié par Jean-Michel le

Je voudrais changer l’ordre de la boucle via un lien ou une entrée de formulaire, mais il ne peut pas se charger via une URL, car j’ai besoin de orderby=meta-value et cela ne peut pas être fait via des url args (selon le codex), seulement comme ceci :

<?php $argsvs = array(
                    'post_type' => 'evento',
                    'posts_per_page' => -1,
                    'meta_key' => 'wpcf-evento-data-inicio1',
                    'orderby' => 'meta_value',
                    'order'=>'DESC' );
$loop = new WP_Query( $argsvs );
?>

Comment puis-je laisser l’utilisateur modifier les arguments ci-dessus pour commander par un autre champ personnalisé ? ex:

                        'meta_key' => 'wpcf-evento-data-inicio2',
                        'orderby' => 'meta_value'

Si c’était trié par titre ou quelque chose comme ça, je pourrais le faire via une URL comme ?post_type=evento&orderby=title&order=ASC, mais pour a meta_keyet orderby=>'meta_value'args, cela ne peut pas être fait via une URL

Solution n°1 trouvée

Pourquoi ne pas le faire via le paramètre URL ? Vous avez dit que vous ne pouviez pas parce que le Codex vous avait dit de ne pas le faire. Mais si vous le voulez quand même, vous pouvez utiliser un paramètre GET :

// http://example.com/page-slug/?direction=DESC
if($_GET['direction'] == 'DESC'){
    $order = 'DESC';
} else {
    $order = 'ASC';
}

$args = array(
    ...
    ...
    'order' => $order,
);

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *