bestimmte Kategorie Datum aus d. Terminkal.ordnen-Datenbankabfrage

  • Hallo,

    ich möchte meine archive.php so ergänzen, dass eine bestimmte Kategorie nach einem bestimmten Feld sortiert ausgegeben wird. Vor dem Loop steht dann also:

    PHP
    <?php if (is_category('26')) { $posts = query_posts($query_string. '&orderby=meta_value&meta_key=date&order=DESC' ); } ?>

    In diesem Fall würde also Kategorie 26 nach dem Custom-Feld "Date" ausgegeben werden. Alle anderen Kategorien werden normal ausgegeben.

    Mein Problem: Ich möchte hier ein Feld einer anderen Tabelle definieren! Wie mache ich das?

    Konkret: Die andere Tabelle ist die Tabelle von dem Termin-Plugin "event calendar". Hier werden die Daten der Termine abgelegt, die wiederum mit der POST-ID verknüpft sind.

    Es ist also ein bißchen komplizierter und ich brauche Hilfe.
    lg
    Funky

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • du schreibst im Titel von benutzerdefinierten Feldern
    das sind die Felder, die man unterhalb des Schreibfeldes im Adminbereich findet

    doch dein query greift auf Datenbank zurück

    so muss ich fragen landen die Termine in custom fields? oder in einer bestimmten Tabelle ?

    lg

  • hi funkytown,

    der event-kalender bringt doch widgets mit, die das machen, was du willst. wenn du nun eine sidebar erstellst, die nur das widget anzeigt und diese mittels contidional-tags in die archive.php einbaust, sollte das funktionieren.

    falls du da weitere hilfe brauchst: ich bin erst am mittwoch wieder online. schick mir dann bitte ne PN. damit ich's auch mitbekomme. :)

    robert

  • Hmm, also verstehe glaube ich was Du meinst. Allerdings brauch ich das ja nicht über den Umweg über die sidebar zu machen?!

    Event-Calendar bietet ja einfach die Funktion ec3_get_events(). Wie müßte dann der conditional-tag aussehen?

    <?php if (is_category('382')) (
    {ec3_get_events();
    } else {
    ;
    }
    ?>

    Die Funktion ec3_get_events gibt die Artikel dann automatisch nach dem Event-Datum aus. Das Problem wäre dann gelöst. Allerdings möchte ich die Artikel in der Archivdarstellung (archive.php) ausgegeben haben.

    Wie müßte also der Code dazu aussehen? Danke für die Hilfe!

  • hiho,

    ich glaube so bringt der code nichts - ec3_get_events() wird dann trotzdem alle Termine ausgeben, auch wenn sie nicht in der Kategorie sein sollten.

    ich weiss nicht, ob query_posts() das noch erfuellen kann, wenn nicht koennte man es mit dem Ansatz probieren:

    Code
    $pageposts = $wpdb->get_results("QUERY MIT BENOETIGTEN JOINS UEBER TERMS,TERM_RELATIONSSHIP,EC3_SCHEDULE USW", OBJECT);
    
    
    if($pageposts) {
            foreach ($pageposts as $post) {
                 setup_postdata($post);
    
    
                 the_content();
                 ...

    das ist zwar haendisch und irgendwie unschoen, sollte aber meiner Meinung nach Funktionieren. Das Grundproblem ist ja eigentlich, dass man EventCalendar dazu bekommt, nur Eintraege aus einer Kategorie anzuzeigen. Wenn es einen einfacheren Weg gibt, so freue ich mich ebenfalls, ihn zu hoeren. Die Variante oben ist ja auch nicht das wahre...

    beste gruesse
    m0mo

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!