1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

WP <5.0 Tag Cloud beschränken auf X neuste Beiträge?

Dieses Thema im Forum "Konfiguration" wurde erstellt von Badango, 19. März 2018.

  1. Badango

    Badango Active Member

    Registriert seit:
    19. März 2018
    Beiträge:
    27
    Zustimmungen:
    4
    Hallo,

    seitdem ich vor einiger Zeit eine Menge Beiträge von meiner alten Seite (kein WP) in meine Wordpress Seite importiert habe und dabei etwas schief gelaufen ist habe ich sehr viele Beiträge komplett ohne Tags (wurden beim Import nicht gesetzt, kA was ich da falsch gemacht habe, ist mittlerweile auch schon etwas her).

    Das wollte ich nun jedenfalls ändern und habe mir deshalb ein "Mini Plugin" zusammengebastelt um die alten Beiträge halbautomatisch nachträglich mit Tags zu versehen, funktioniert zwar so weit auch, aber dann würden natürlich die Tags aus den alten Beiträgen die neuen bald quasi komplett "verdrängen" (aus der Tag Cloud) und ich möchte halt, dass auch die neuen / aktuellen Tags dort noch vertreten sind.

    Gibt es eine Möglichkeit, am besten via Template-Funktion, als Filter über ein kleines Plugin oder so, die Tag-Cloud auf die Tags aus den letzten X Beiträgen oder Monaten zu beschränken?
     
  2. helix

    helix Well-Known Member

    Registriert seit:
    28. Juli 2011
    Beiträge:
    1.808
    Zustimmungen:
    27
    Ja, die Möglichkeit gibt es.

    PlugIn habe ich auf die Schnelle nix passendes gefunden.

    Ich weiß ja nicht, wie du bis jetzt die Tag-Cloud eingebunden hast? Es muss jedenfalls nicht zwingend ein Widget sein, du kannst die Standard-Tag-Cloud auch einfach über wp_tag_cloud() einbinden;
    Siehe Funktionsreferenz wp_tag_cloud()

    Und hier dann „The child_of Key is not a direct part of the Array in wp_tag_cloud, but because this function uses wp_parse_args() and get_terms(), you can use all Array Keys used by get_terms()!“

    Gruß
    helix
     
  3. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.681
    Zustimmungen:
    1.786
  4. Badango

    Badango Active Member

    Registriert seit:
    19. März 2018
    Beiträge:
    27
    Zustimmungen:
    4
    Im Moment einfach über ein Widget, ja, aber anders wäre ja auch kein Problem, die genannte Funktion kenne ich auch, konnte aber in der Referenz nichts finden, was mir bei meinem Problem helfen würde.

    Also ich kann demnach in wp_tag_cloud() nicht nur die Explizit in der Referenz aufgelisteten Keys benutzen, sondern eben auch child_of und alle anderen, die get_terms() nutzt? Aber da sehe ich auch keinen Key, mit dem ich sagen könnte "nur die neusten X Beiträge einbeziehen" bzw "nur Beiträge der letzten 3 Monate"...

    Oder übersehe ich da etwas?

    Ich befürchte mittlerweile das ist überhaupt nicht so ohne weiteres möglich, in der DB finde ich bei den Tabellen, die für die Tags zuständig sind, jedenfalls auch nirgends ein Datum oder so wann der Tag zuletzt benutzt wurde z.B. wäre da ja hilfreich.

    Einzige Lösung, die ich da sonst atm sehe, wäre "manuell" z.B. die term_ids der letzten X Posts abzufragen und daraus dann eine Liste aufzustellen, die man anschließend wp_tag_cloud() bei "include"übergibt?

    Nur frage ich mich da ob das nicht zu sehr auf die Performance geht, das bei jedem Aufruf zu ermitteln, wobei, das Ergebnis könnte man ggf ja auch irgendwie cachen...

    Ich werde das wohl morgen einfach mal ausprobieren und gucken wie aufwändig das letztlich wirklich ist.
     
  5. Badango

    Badango Active Member

    Registriert seit:
    19. März 2018
    Beiträge:
    27
    Zustimmungen:
    4
    Ok, ist zwar wohl etwas umständlich, aber es funktioniert jetzt, ich habe mir halt einfach eine eigene Funktion erstellt, die alle genutzten Tags bei den Beiträgen der letzten X Tage ermittelt und gebe die Tag Cloud nun halt darüber aus statt über das Standard-Widget. Fall es jemand interessiert, hier der Code:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    (Ich weiß, man kann für die DB Abfragen auch $wpdb benutzen, war aber zu faul mich da erst noch mit der Syntax vertraut zu machen^^)
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden