Limite os termos da nuvem da tag por data

Procurei por um plugin que limita as tags desobstruídas na nuvem de tags por data. Basicamente, eu quero todas as tags de uma certa data para a frente. Procurei em plugins atuais e não encontrei nada que limite por data.

Fazendo alguma pesquisa, acho que só preciso modificar a seguinte linha de:

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

para:

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

na function wp_tag_cloud() , mas ainda estou faltando como limitar até a data. Sugestões?

Obrigado!

Solutions Collecting From Web of "Limite os termos da nuvem da tag por data"

Bem, não é que não seja possível, isso significa que vai demorar algum esforço. Eu sou capaz de usar uma consulta SQL que combina as tabelas de posts, termos_relações e termos. Isso permite que uma tag ou nome seja associado a uma publicação que foi publicada em uma determinada data. Esta foi a declaração sql que usei ->

 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' 

Se você não está familiarizado com o SQL, isso basicamente significa combinar as três tabelas e mostrar todas as colunas que são publicadas.

Você pode reduzir isso apenas ao termo e à data com o seguinte ->

 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' 

Então você tem alguns dados com os quais você pode trabalhar para produzir sua nuvem de etiquetas. Se você quiser especificar um intervalo de datas, use o seguinte ->

  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' 

Substitua lwdev_ por seu prefixo da tabela. Usando alguns php e procurando um método de nuvem de tag personalizado, você poderá usar o sql para retornar todos os termos e, em seguida, use alguns php para especificar a data.

Uma coisa a notar se você não GROUP BY o termo nome, então você receberá uma lista dos mesmos termos associados a uma data de postagem diferente. Se você fizer GROUP BY o nome, ele escolherá a data de publicação mais antiga.

Verifique o sql no phpmyadmin e teste a consulta para adaptar seus resultados. Espero que alguém tenha escrito uma maneira mais fácil de fazer tudo isso, você pode precisar de algumas funções de php personalizadas para obter o efeito desejado, mas parece possível, apenas laborioso. Espero que isso de alguma forma ajude.

NÃO É POSSIVEL –

O WordPress não armazena informações de data com as categorias ou tags, por isso não podemos classificá-los ou limitá-los por suas datas.

Também não existe tal argumento – 'orderby' => 'date' para a function get_terms() .

Consulte a documentação do Codex em parameters Possíveis .