WordPress как на ладони
wordpress jino

WP-Cumulus: 3D облако меток на flash (улучшенная русская версия)

Плагин WP-Cumulus уже старый и многие о нем слышали, а еще больше видели. Он предоставляет возможность выводить облако меток в виде вращающегося 3D облака, очень красиво. Его работу вы должны видеть выше. Автор плагина Roy Tanck.

Недавно использовал этот плагин и как обычно залез в код, чтобы отредактировать некоторые моменты под себя. В итоге существенно изменил код плагина. Этим и хочу поделиться:

  1. Во-первых, я перевел плагин на русский язык и сделал более удобное отображение страницы настроек опций, как в виджете так и основной странице настроек. См. скриншоты ниже;

  2. Добавил настройку позволяющую отключать использование шоткода [wp-cumulus] в постах. Не к чему лишние php операции, если вам не нужен шоткод;

  3. Теперь, при выводе облака в шаблоне с помощью  wp_cumulus_insert(), в него можно передать все параметры, которые можно указать в настройках.

  4. Можно создать облако из любых ссылок, не только меток и рубрик, например, из постоянных страниц. Об этом читайте ниже;

  5. Плагин не удалял свои следы (опции) при деинсталяции. Точнее эта функция там предусмотрена, но в ней ошибка, в результате чего она не работает. Такое впечатление, что многие разработчики не тестируют этот момент;

  6. К flash файлу tagcloud.swf (40КБ) добавлялось уникальное число (?654987), каждый раз при загрузке страницы. Поэтому браузер загружает этот файл каждый раз заново, т.е. браузерный кэш не используется. Это ведь ужас: зашел посетитель на сайт, а в боковой панели такое облако, и на какую бы другую страницу он не перешел файл загружается снова. Я убрал это число, все работает как и прежде, без видимых проблем. Файл загружается один раз. Я не понял зачем это надо, может кто-то подскажет?

  7. Изменил логику сохранения настроек, странная она была в плагине. Изменил и всякие мелочи:

    • удалил с кода лишнее, а там оно было;
    • добавил к флеш блоку css класс class="wp-cumulus";
    • добавил css свойство, чтобы облако выводилось по центру, а не слева;
    • изменил получения ссылок, если выводятся и метки и рубрики делается один запрос к базе данных, а не два;
    • и другое...
  8. Выделил основную функцию, чтобы облако можно было подключить к сайту не устанавливая плагин. Только функция и её вывод. Так, такое облако можно добавлять в темы при разработке. Как это сделать читайте ниже.

Скачать

Wp Cumulus Kama Fix V1.2
Скачано: 275, размер: 46.6 KB

Поддержка версий: WP 2.8+

Установка: установка плагина на WordPress

Скриншоты

Настройки

Настройки все описаны в плагине и на скриншотах и вопросов по ним возникнуть не должно. Кроме, пожалуй, опции Параметры функции wp_tag_cloud. В ней можно указать, как и какие ссылки будут показываться в облаке. Например, "number=20&exclude=12" выведет только 20 меток, даже если их больше и исключит метку 12 (ID метки).

Все возможные параметры для этого параметра:

  • smallest - размер текста для меток с меньшим количеством записей. По умолчанию 8.
  • largest - размер текста для меток с большим количеством записей. По умолчанию 22.
  • unit - единица измерения размера для smallest и largest. Может быть:pt, px, em, %. По умолчанию pt.
  • number - максимально количество меток, которое будет показано. Если установить на 0, то будут показаны все метки без ограничения. По умолчанию 45.
  • exclude - исключить указанные метки. Указывать нужно ID через запятую.
  • include - показать только указанные метки. Указывать нужно ID через запятую.
  • taxonomy - название таксономии, из терминов которой будет построено облако. Благодаря этому параметру, можно вывести термины из любой таксономии, не только метки или категории.

Параметры объединяются знаком &: number=20&exclude=12.

Вывод 3D облака в шаблоне

Если вам нужно вывести облако wp-cumulus прямо в шаблона, без использования виджета или шоткода, то в коде шаблона можно использовать функцию wp_cumulus_insert( $options, $links ). Вывод можно настроить передав нужные параметр. Настройки из админ-панели будут перебиваться этими параметрами.

Параметры, которые можно передать:

$options = array(
	'width' => '550',        // ширина flash
	'height' => '375',       // высота flash
	'tcolor' => 'ffffff',    // цвет больших ссылок
	'tcolor2' => 'ffffff',   // цвет маленьких ссылок
	'hicolor' => 'ffffff',   // цвет наведенной ссылки
	'bgcolor' => '333333',   // цвет фона
	'speed' => '150',        // скорость вращения
	'trans' => 'false',      // прозрачный фон у flash
	'args' => '',            // аргументы передаваемые функции wp_tag_cloud. Пр.: largest=20&smallest=12&number=40
	'mode' => 'tags',        // какие ссылки выводить: tags (метки), cats (категории), both (метки и категории)
	'compmode' => 'js',      // код вставки flash: js (javascript), пусто (object)
	'showwptags' => 1,       // показывать ли HTML ссылки, если в браузере не работает flash
);
wp_cumulus_insert( $options );

Примеры вывода 3D облака в шаблоне

#1 Выведем флэш блок меток с белым фоном, размером 300х225 пикселей.

Для этого откроем файл темы, например, sidebar.php и в нужное место вставим следующий код:

<?php 
wp_cumulus_insert( array(
	'width'=>'300',
	'height'=>'225',
	'bgcolor'=>'ffffff'
) );
?>

#2 Выведем облако из 20 терминов произвольной таксономии "authors", укажем скорость вращения 300:

<?php 
wp_cumulus_insert( array(
	'args'=>'taxonomy=authors&number20', 
	'speed'=>'300'
) ); 
?>

#3 Выводим любые ссылки

Кроме терминов таксономий, в облаке можно выводить любые ссылки. Этот пример показывает как вывести постоянные страницы, для этого укажем второй аргумент функции $links:

<?php
// получаем все постоянные страницы
$posts = get_posts(array(
	'numberposts'     => -1,
	'post_type'       => 'page',
));

// создаем строку ссылок
$links = '';
foreach( $posts as $post ){
	$fsize = rand(12,28);
	$links .= '<a style="font-size:'. $fsize .'px;" href="'. get_permalink($post->ID) .'">'. $post->post_title .'</a>';
}
wp_reset_postdata();

// выводим
wp_cumulus_insert( '', $links ); 
?>

3D Облако без плагина

Если не хотите подключать плагин, то облако можно вывести без установки плагина. Для этого:

  1. Скачайте этот архив и разместите папку из него (wp-cumulus-not-plugin) в любой каталог, пусть это будет каталог темы;

  2. В том месте шаблона, где нужно вывести облако подключите файл wp-cumulus.php и  используйте функцию wp_cumulus_theme_flashcode( $options, $links ).
<?php
require_once( get_template_directory() . '/wp-cumulus-not-plugin/wp_cumulus.php' );

echo wp_cumulus_theme_flashcode( array(
	'width' => '600',        // ширина flash
	'height' => '450',       // высота flash
	'tcolor' => '3D3644',    // цвет больших ссылок
	'tcolor2' => '7E748C',   // цвет маленьких ссылок
	'hicolor' => 'DE1E1C',   // цвет наведенной ссылки
	'bgcolor' => 'ffffff',   // цвет фона
	'speed' => '300',        // скорость вращения
	'mode' => 'tags',        // отображать метки (tags), категории (cats) или и то и другое (both)
	'args' => 'largest=16&smallest=10&number=30',            // аргументы передаваемые функции wp_tag_cloud
	//'folder_url' => get_stylesheet_directory_uri() . '/wp-cumulus-not-plugin/'         // УРЛ до папки файла php
) );
?>
Не работает?

Функция wp_cumulus_theme_flashcode() при выводе флеш объекта подключает 2 файла: swfobject.js и tagcloud.swf. УРЛ этих файлов функция определяет автоматически (они должны лежать в том же каталоге что и файл wp-cumulus.php). Если УРЛ определился неправильно, то облако может не работать. Поэтому при вызове функции, возможно, нужно будет указать параметр folder_url, в котором указать УРЛ до папки где лежат эти 2 файла.

25 комментов
Полезные 1 Вопросы 1 Все
  • petrozavodsky751 cайт: alkoweb.ru

    но зачем, флеш сейчас не моден

    Ответить4.4 года назад #
    • Kama5409

      Потому что красиво crazy А есть аналоги не на флеш?

      Ответить4.4 года назад #
      • petrozavodsky751 cайт: alkoweb.ru

        Ну так в любом случае есть http://www.goat1000.com/tagcanvas.php на канвас аналогичные, плюс в том что на стандартных мобилках тоже будет крутиться и при необходимости скрипты править удобней флешем то не все владеют

        Ответить4.4 года назад #
      • @ Solus_Rex1 cайт: seo.af

        Тимур, есть аналоги не на flash:
        My WP-TagCanvas
        Уже больше года использую на разных сайтах.
        Если будете смотреть по ссылке в профиле - там старая версия. 1.1.0 её можно обновить до 3.2.2, но я не стал, т.к. лень было ковыряться в настройках.
        Вернее я поставил - ужаснулся, сколько там настроек, снёс и накатил обратно версию 1.1. Она работает отлично smile
        Если надо - то версию 1.1 могу скинуть - пишите.
        Upd.
        Да, ещё забыл сказать - есть плагин VK-Api так вот в нём, в качестве доп. опции тоже есть облако тегов не на flash, а на canvas, только я его потестил и мне показалось, что оно сильнее грузит систему.

        С уважением, к автору. smile

        Ответить3.3 года назад #
        • Kama5409

          Спасибо за комментарий, чуть что попробую плагин или сделаю что-нибудь с самим Canvas thank_you

          Ответить3.3 года назад #
        • @ Solus_Rex1 cайт: seo.af

          Сегодня снова пробовал ставить на один из сайтов новую версию этого плагина...
          В фотошопе без документации проще разобраться чем в этой версии. smile
          Закинул версию 1.1 в архиве:
          http://xx0.ru/asd/wp/my-wp-tagcanvas.zip
          Может пригодится, кому-нибудь.

          А если будете делать свою версию, делайте простую - будем с удовольствием использовать Вашу.

          1
          Ответить3.3 года назад #
  • @ Alex

    Спасибо большое. Давно была мысль, что данный плагин можно как-то оптимизировать, но готового решения так и не нашел в сети.

    В связи с этим вопрос. В описании сказано,

    Плагин не удаляет свои следы (опции) при деинсталяции. Точнее эта функция там предусмотрена, но в ней ошибка, в результате чего она не работает. Такое впечатление, что многие разработчики не тестируют этот момент;
    Как сожно подчистить хвосты от старого плагина ???

    И получит ли плагин обновление без флеша, чтобы гребанный айфон и айпад нормально отображал облако тегов ???

    Спасибо.

    Ответить4.1 года назад #
    • Kama5409

      Как сожно подчистить хвосты от старого плагина ???

      Вызовите этот код один раз

      if( delete_option('wpcumulus_options') ){
      	delete_option('wpcumulus_widget');
      	die('Старые, настройки wpcumulus были удалены! Удалите код из файла: '. __FILE__ .', чтобы больше не видеть это сообщение.');
      }

      Насчет обновления без флэша надо подумать. Вообще я не думал добавлять его. Гляну, если работы не много, то возможно добавлю в ближайшие пару месяцев.

      Ответить4.1 года назад #
      • @ Alex

        А как вызвать ??? Я просто в программировании ноль sorry

        И вопрос созрел: посмотрел исходный код, плагин выводит метки на русском со знаками %. Зачем это сделано ? Ведь поисковики давно уже понимают русский язык. Это ведь делает выводимый код более длинным, а следовательно он увеличивается в байтах.

        P.S. Буду ждять информацию про html версию. Если будет - подожду ее, если нет - поставлю данный плагин.

        Ответить4.1 года назад #
        • Kama5409

          А как вызвать ???

          Вставьте код, например, в файл шаблона functions.php и зайдите на любую страницу сайта или в админку, должно выйти сообщение "Старые, настройки wpcumulus были удалены! Удалите код ...". После этого удалите код.

          Я точно не помню сейчас, но там % вроде нужен был.

          Ответить4.1 года назад #
          • надежда cайт: vkpluss.ru

            Здравствуйте, что то не понравился мне этот плагин, но удалить полностью не могу, остался в виджетах, код вставила, открыла страницу, ничего не пришло, помогите пжста

            Ответить3.6 года назад #
            • надежда cайт: vkpluss.ru

              Остались только теги, нет сферы и кстати не было, установить флешплеер требует

              Ответить3.6 года назад #
              • Kama5409

                Обновил немного код плагина, протестировал на версии WordPress 4.0 - все работает как надо. Теперь чтобы удалить плагин, скачайте его, установите в плагины и удалите со страницы плагинов ссылка: "Удалить". Он удалиться корректно.

                А на этой странице вы видите сферу? У вас на компьютере плеер не установлен похоже.

                Ответить3.6 года назад #
  • bond2143

    Установил себе но не отображается...почему так??http://www.fullcartridge.com.ua/

    Ответить4.1 года назад #
    • @ Alex

      Все работает как часы. Надо плагин вначале настроить в админке (что и как отображать) + в шаблоне в месте вывода вставить

      <?php if(function_exists('wp_cumulus_insert')) { wp_cumulus_insert(); } ?>

      у меня это осталось от оригинального плагина.

      Удачи wink

      Ответить4.1 года назад #
  • Рита cайт: ritabk.ru

    Здравствуйте!У меня с плагином ничего не получилось. Папку и разархивированную пробовала через FTR клиент, она не появляется в корневом каталоге. Пробовала через админку, функции есть, но не все. Виджет вытащила и там нет тех настроек о которых Вы пишите. Там что то говорится о шорткодах. Может плагин шорткодов нужно сначала установить? no

    -1
    Ответить3.7 года назад #
  • zeva182

    Здравствуйте! У меня плагин в 3D не отображается, просто списком теги идут. Почему так?

    Ответить3.4 года назад #
  • Евгений cайт: biomarket.d-s.me

    Почему то виджет показывается только в одной области. Или в категориях, или на главной, или в самой статье. После этого исчезает с панели виджетов

    Ответить3.1 года назад #
    • Kama5409

      Там одноразовый виджет: можно разместить только в один блок для виджетов... Сорри, можно поправить конечно, но я не буду - время нет. pardon

      Ответить3.1 года назад #
  • ЗЛОЙ

    у меня проблемка с URLами, не все теги открываются, когда при создании статьи правишь URL, в плагине остается старый, и выводит он пустую страницу. это можно как-то побороть?

    Ответить3 года назад #
    • Kama5409

      Кэши всякие почистите... Так не должно быть вроде бы... unknw

      Ответить3 года назад #
  • Михаил

    Этот плагин просто завораживает.
    Можно ли его сделать на двух языках? Не обязательно плагин, подойдет и второй вариант (3D Облако без плагина).

    Для мультиязычности использую Polylang.

    Ответить2.5 года назад #
  • MIB cайт: remont-biysk.ru

    Подскажите как вывести плагин на странице, без 3Д эффекта, просто ссылками?

    Ответитьгод назад #
Здравствуйте, !     Войти . Зарегистрироваться