it-swarm.com.de

Warum filtert meine benutzerdefinierte Schleife nicht richtig und paginiert nicht?

Hoffentlich kann mir jemand dabei helfen, da ich seit einigen Tagen Probleme habe.

Ich habe ein Formular auf einer Seite erstellt, mit dem Benutzer Ereignisse nach benutzerdefinierten Taxonomien, Typ, Zeitraum und Dauer filtern können. Diese funktionieren einzeln, d. H. Der Filter zeigt alle Posts mit entweder Typ = x oder Punkt = y, aber nicht kombiniert. Kann jemand sehen, warum?

Hier ist mein Code in Pastie

Ich versuche auch herauszufinden, wie ich meine Ergebnisse für meine benutzerdefinierte Schleife paginieren kann, kann aber nicht herausfinden, warum es nicht funktioniert?

Jede Hilfe massiv geschätzt.

Vielen Dank

osu

EDIT

Ok, aus irgendeinem Grund kann ich die Array-Methode nicht verwenden, um meine Variablen an query_posts () zu übergeben, und ich gehe davon aus, dass dies darauf zurückzuführen ist, dass mit dem Plugin Query Multiple Taxonomies, das installiert werden muss, dies nur mit dem funktioniert Methode 'post_type = event & fttype = daily' usw.

Hier ist mein neuer Code, der funktioniert:

http://www.pastie.org/1586564

Obwohl die Paginierung beim ersten Aufrufen der Seite funktioniert, funktioniert sie nach dem Absenden des Formulars nicht mehr. Also, fast da, aber ich brauche Hilfe beim letzten Teil, wenn jemand so nett sein kann?

Vielen Dank

osu

2
Osu

Um Ihre "Abfragefilter" zu beheben, ändern Sie

// Set defaults in nothing entered:
if(!isset($_POST['showfilter'])) {
    $ft_args = 'post_type=ftevent&';
    // $ft_args .= 'posts_per_page=1&'; SHOW ALL
    $ft_args .= 'paged=' . $paged . '&';
    $ft_args .= $osu_datecompare . '&';
    $ft_args .= 'orderby=meta_value&order=ASC';
} else {
    // Filter query with multiple taxonomies and paginate results
    $ft_args = 'post_type=ftevent&';
    $ft_args .= 'posts_per_page=2&';
    $ft_args .= 'paged=' . $paged . '&';
    $ft_args .= 'fttype=' . $ft_t . '&';
    $ft_args .= 'ftperiod=' . $ft_p . '&';
    $ft_args .= 'ftduration=' . $ft_d . '&';
    $ft_args .= $osu_datecompare . '&';
    $ft_args .= 'orderby=meta_value&order=ASC';
}

zu

// Filter query with multiple taxonomies and paginate results
    $ft_args = array(
    'post_type' => 'ftevent',
    'posts_per_page' => 2,
    'paged=' => $paged ,
    'meta_key' => 'StartEventDate',
    'meta_compare' => '>=',
    'meta_value' => $todaysDate,
    'orderby' => 'meta_value',
    'order' => 'ASC');
    if (isset($ft_t) && ($ft_t != '')){$ft_args['fttype'] = $ft_t;}
    if (isset($ft_p) && ($ft_p != '')){$ft_args['ftperiod'] = $ft_p;}
    if (isset($ft_d) && ($ft_d != '')){$ft_args['ftduration'] = $ft_d;}

und damit es vor Version 3.1 funktioniert, müssen Sie Query Multiple Taxonomies installieren.

Hoffe das hilft.

1
Bainternet