Begrenzen Sie die Begriffe der Tag-Cloud nach Datum

Ich habe nach einem Plugin gesucht, das die Tags in der Tag Cloud nach Datum begrenzt. Grundsätzlich möchte ich alle Tags ab einem bestimmten Datum weiterleiten. Ich habe aktuelle Plugins durchsucht und habe nichts gefunden, was nach dem Datum limitiert ist.

Bei einigen Nachforschungen muss ich die folgende Zeile ändern:

$tags = get_terms( $args['taxonomy'], array_merge( $args, array( 'orderby' => 'count', 'order' => 'DESC' ) ) ); // Always query top tags 

zu:

 $tags = get_terms( $args['taxonomy'], array_merge( $args, array( 'orderby' => 'date', 'order' => 'DESC' ) ) ); // Always query top tags 

in der wp_tag_cloud() -function, aber ich vermisse immer noch, wie nach dem Datum zu begrenzen. Vorschläge?

Vielen Dank!

Solutions Collecting From Web of "Begrenzen Sie die Begriffe der Tag-Cloud nach Datum"

Nun, es ist nicht so, dass es nicht möglich ist, es bedeutet nur, dass es einige Anstrengungen erfordern wird. Ich bin in der Lage, eine SQL-Abfrage zu verwenden, die die Posts, term_relationships und Terms-Tabellen kombiniert. Dies ermöglicht die Zuordnung eines Tags oder Namens zu einem Beitrag, der an einem bestimmten Datum veröffentlicht wurde. Dies war die SQL-statement, die ich verwendet habe ->

 select * from lwdev_posts p JOIN lwdev_term_relationships r ON p.id=r.object_id JOIN lwdev_terms t ON r.term_taxonomy_id=t.term_id where p.post_status='publish' 

Wenn Sie mit SQL nicht vertraut sind, bedeutet dies im Grunde, dass Sie die drei Tabellen kombinieren und alle Spalten anzeigen, die veröffentlicht werden.

Sie können dies auf den Begriff und das Datum beschränken mit den folgenden ->

 select p.post_date, t.name from lwdev_posts p JOIN lwdev_term_relationships r ON p.id=r.object_id JOIN lwdev_terms t ON r.term_taxonomy_id=t.term_id where p.post_status='publish' 

Sie haben also einige Daten, mit denen Sie Ihre Tag Cloud erstellen können. Wenn Sie einen Datumsbereich angeben möchten, verwenden Sie Folgendes ->

  select p.post_date, t.name from lwdev_posts p JOIN lwdev_term_relationships r ON p.id=r.object_id JOIN lwdev_terms t ON r.term_taxonomy_id=t.term_id where p.post_status='publish' AND p.post_date BETWEEN '2012-07-24' AND '2012-08-01' 

Ersetzen Sie lwdev_ durch Ihr Tabellenpräfix. Mit einigen PHP und Suche nach einer benutzerdefinierten Tag-Cloud-Methode können Sie die sql verwenden, um alle Begriffe zurückzugeben, und verwenden Sie dann einige PHP, um das Datum anzugeben.

Eine Sache, die Sie beachten sollten, wenn Sie nicht nach dem Begriff Namen gruppieren, dann erhalten Sie eine Liste der gleichen Begriffe, die mit einem anderen Datum verbunden sind. Wenn Sie den Namen GROUP BY angeben, wird das früheste Veröffentlichungsdatum ausgewählt.

Überprüfen Sie die SQL in phpmyadmin und testen Sie die Abfrage, um Ihre Ergebnisse anzupassen. Hoffentlich hat jemand einen einfacheren Weg geschrieben, all dies zu tun, du brauchst vielleicht einige benutzerdefinierte PHP-functionen, um den gewünschten Effekt zu erzielen, aber es scheint möglich, nur mühsam. Hoffe das hilft irgendwie.

NICHT MÖGLICH –

WordPress speichert Datumsinformationen nicht mit den Kategorien oder Tags, deshalb können wir sie weder sortieren noch nach Datum einschränken.

Es gibt auch kein solches Argument – 'orderby' => 'date' für die function get_terms() .

Siehe die Codex-Dokumentation zu möglichen Parametern .