Я искал в течение долгого времени теперь для нахождения способа ограничить теги Wordpress по дате и заказать им суммой времен, они появились в выбранный период. Но я был довольно неудачен.
То, чего я пытаюсь достигнуть, является чем-то как актуальные темы в Твиттере. Но в этом случае, 'отклоняющиеся теги'. По умолчанию Wordpress tagcloud отображает самые популярные теги всего времени. Который не имеет никакого смысла в моем случае, так как я хочу отследить современные тенденции.
Идеально это было бы что-то как:
Большинство популярных тегов сегодня
И затем умноженный для 'самого популярного на этой неделе' и 'самый популярный в этом месяце'. Кто-либо знает о способе достигнуть этого?
Я почти уверен, что у тегов нет отметок времени - возможно, вы могли бы выполнить поиск сообщений с определенными тегами за определенный период времени?
Хорошо, я думаю, что вы, вероятно, хотите сделать это, скажем, для последних 50 сообщений.
Перебрать последние n
постов, извлечь term_id
каждого тега для каждого поста, затем передать эту строку в include
аргумент wp_tag_cloud()
;
$how_many_posts = 50;
$args = array(
'posts_per_page' => $how_many_posts,
'orderby' => 'date',
'order' => 'DESC',
);
// get the last $how_many_posts, which we will loop over
// and gather the tags of
query_posts($args);
//
$temp_ids = array();
while (have_posts()) : the_post();
// get tags for each post
$posttags = get_the_tags();
if ($posttags) {
foreach($posttags as $tag) {
// store each tag id value
$temp_ids[] = $tag->term_id;
}
}
endwhile;
// we're done with that loop, so we need to reset the query now
wp_reset_query();
$id_string = implode(',', array_unique($temp_ids));
// These are the params I use, you'll want to adjust the args
// to suit the look you want
$args = array(
'smallest' => 10,
'largest' => 30,
'unit' => 'px',
'number' => 150,
'format' => 'flat',
'separator' => "\n",
'orderby' => 'count',
'order' => 'DESC',
'include' => $id_string, // only include stored ids
'link' => 'view',
'echo' => true,
);
wp_tag_cloud( $args );
Я думаю, вы можете взглянуть на некоторые плагины и посмотреть, есть ли у вас плагин, подобный тому, который вам нужен