Теги на отдельную страницу

Хочу вывести все теги (у меня их больше 1000) на отдельную страницу возле главной .
В сайдбаре они выводятся кодом:

<?php
wp_tag_cloud('smallest=9&largest=9&orderby=name&order=ASC&number=1000&format=list');
?>

А вот в HTML-редакторе не получается.
И ещё вопрос можно как-то поизвращать над тегами чтобы они отображались в 4 ряда по алфавиту?

А вот в HTML-редакторе не получается.

Он же html, а не php редактор 🙂 Используйте индивидуальный шаблон страницы.

И ещё вопрос можно как-то поизвращать над тегами чтобы они отображались в 4 ряда по алфавиту?

Получить в массив все теги, использовав get_tags(), и дальше в цикле формировать рядочки, колонки и т.п.

Ю.Б. Спасибо за ответ,
Сейчас попробую

Я только что нашёл плагин (xili-tidy-tags) там можно групировать тэги по групам (можно сделать групы по буквам алфавита)
и можно вывести в html с помощью []
Сейчас посмотрю что будет легче сделать

А возможно ли как-то без использования плагинов выводить для поста:

1) Все тэги из этой рубрики;
2) Другие посты для этого тэга?

Второе, по идее, уже как-то реализовано в ВП. Но я не могу найти 🙁
Спасибо.

Другие посты для тэга, реализуются через функцию "st_related_posts();" плагина "Simple Tags". Все работает, все супер.
Только жаль что функция формирует список даже если общих постов нет, а не просто. Как поставить условие на вызов не придумал.

Первый вопрос:

Все метки из раздела

все еще актуален. Решения пока не нашел.

Решил писать функцию сам.

Алгоритм придумал такой:
1) Ищу все посты в рубрике
2) Из постов выдираю тэги.
3) Как-то их сохраняю ))) Да так чтоб не было дубликатов. (еще не знаю как это делать)

В основном цыкле в single.php вставил:

<?php echo tags_for_cat($post); ?>

В functions.php:

    function tags_for_cat($post_from)
    {
        $post_cat=$post_from->post_category;    
        
        $posts_new = get_posts("category=$post_cat");
        foreach ($posts_new as $post_new) :
            st_the_tags("before=''&post_id=$post_new->ID");
        endforeach;
    };

Проблема: $post_cat=$post_from->post_category; выдает одно значение для любой записи в блоге. Почему?
И как можно организовать третий пункт? Или может вообще, есть другие варианты?

1. Кажись этот плагин делает таки это http://wordpress.org/extend/plugins/tdo-tag-fixes/
2. Насчет дубликатов array_unique($all_tags_array);
3. Если вы поищите в гуголе по фразе "wordpress get all tags from category" у вас будет куча готовых решений)

Спасибо за правильную формулировку запроса на английском! 🙂
Вот что нашлось и было переработано:

Вывод всех меток из категории:
[code- <?php
//Getting category ID from POST
foreach((get_the_category()) as $category)
{
$postcat= $category->cat_ID;
//echo $postcat;
}
?>

<?php
$custom_query = new WP_Query("posts_per_page=-1&cat=".$postcat);
if ($custom_query->have_posts()) :
while ($custom_query->have_posts()) : $custom_query->the_post();
$posttags = get_the_tags();
if ($posttags) {
foreach($posttags as $tag) {
$all_tags
= $tag->term_id;
}
}
endwhile;
endif;

$tags_arr = array_unique($all_tags);
$tags_str = implode(",", $tags_arr);

$args = array(
‘smallest’ => 12,
‘largest’ => 12,
‘unit’ => ‘px’,
‘number’ => 0,
‘format’ => ‘list’,
‘include’ => $tags_str
);
wp_tag_cloud($args);
?>[/code]

Anonymous
Отправить
Ответ на: