Какой хороший плагин слайдера контента на jQuery для WordPress?
Я ищу плагин, который позволит мне легко разместить слайдер на основе jQuery (так как я хочу избежать проблем с использованием нескольких библиотек JavaScript) на моем сайте в различных местах. Мне нужно, чтобы он мог работать как с изображениями, так и с HTML. Я знаю о плагине Featured Content Gallery, но хотел бы найти альтернативу (отчасти из-за этого твита Брэда Уильямса, чьему мнению я доверяю).
В идеале мне нужно что-то, что может автоматически создавать 'слайд-шоу' на основе категорий, тегов, последних записей и т.д., но также позволяет вручную создавать 'слайд-шоу' с любыми записями, изображениями или другим контентом, который я хочу использовать.
Примечание: Я ищу именно плагин для WordPress, а не просто jQuery плагин.

Я знаю, что вы ищете плагин для WordPress, но большинство слайдеров контента довольно легко добавить вручную, и они будут менее перегруженными, так как вам нужно добавить только те функции, которые вы хотите использовать. Я приведу несколько вариантов:
JQuery Cycle (безусловно, самый простой для изображений)
Я использую его для изображений и написал шорткод, чтобы его можно было легко добавлять в записи, страницы или виджеты. Для использования добавьте div с классом и шорткоды для изображений:
<div class="slideshow"> [slideimage name=name-of-image-uploaded-to-media] [slideimage name=next-image-name] </div> (Это будет работать только для .jpg, если хотите использовать .png, измените расширение на 'png' в функции шорткода)
В footer.php просто подключите cycle.js, который вы скачаете с http://jquery.malsup.com/cycle/download.html, и добавьте это между тегами script или в ваш основной js:
jQuery(function() {
jQuery('.slideshow').cycle();
});
function slideimage_shortcode($atts, $content = null) {
extract( shortcode_atts( array(
'name' => '',
'ext' => 'jpg',
'path' => '/wp-content/uploads/',
'url' => ''
), $atts ) );
$file=ABSPATH."$path$name.$ext";
if (file_exists($file)) {
$size=getimagesize($file);
if ($size!==false) $size=$size[3];
$output = "<img src='".get_option('siteurl')."$path$name.$ext' $size alt='$name' />";
if ($url) $output = "<a href='$url' title='$name'>".$output.'</a>';
return $output;
}
else {
trigger_error("'$path$name.$ext' изображение не найдено", E_USER_WARNING);
return '';
}
}
add_shortcode('slideimage','slideimage_shortcode');
Для слайдеров, содержащих записи, HTML или практически что угодно, я использую JQuery Tools Scrollable http://flowplayer.org/tools/scrollable/index.html
Инструкции на сайте jQuery Tools очень хорошо написаны, и в основном вы оборачиваете слайдер в div, а отдельные записи или элементы оборачиваете в другой div внутри основного.
Вам нужно подключить js плагина в футере и добавить функцию в ваш основной js или между тегами script:
jQuery(function() {
jQuery(".scrollable").scrollable({vertical:true,mousewheel:false});
});
РЕДАКТИРОВАНИЕ: Добавьте запрос постов по категории в любой файл шаблона, чтобы конечный пользователь мог добавлять записи в слайдер.
Следующий код добавит все записи из категории 8 в слайдер:
<div id="slider">
<?php query_posts('post_type=post&order=asc&cat=8'); ?>
<div id="actions">
<a class="prev">« Назад</a>
<a class="next">Далее »</a>
</div>
<div class="scrollable">
<div class="items">
<?php while (have_posts()) : the_post(); ?>
<div>
<?php the_content(); ?>
</div>
<?php endwhile;?>
</div>
</div>
</div>
Чтобы сделать всю настройку более похожей на плагин, зарегистрируйте и подключите jQuery Tools в functions.php:
<?php
if ( !is_admin() ) { // инструкция загружать только не в админке
// регистрируем расположение скрипта, зависимости и версию
wp_register_script('jquerytools',
'http://cdn.jquerytools.org/1.2.4/all/jquery.tools.min.js',
array('jquery'),
'1.4.2' );
// подключаем скрипт
wp_enqueue_script('jquerytools');
}
?>
Теперь добавьте еще одну функцию для настройки слайдера:
// добавляем конфигурацию jQuery Tools в футер
function add_jquerytools_config() {
echo '<script type="text/javascript">';
echo 'jQuery(document).ready(function($) {';
echo '$(".slider").scrollable({circular:true}).autoscroll(8000);';
echo '$(".scrollable").scrollable({vertical:false,mousewheel:false});});';
echo '</script>';
}
add_action('wp_footer', 'add_jquerytools_config');

Проблема в том, что это должно быть удобно для использования человеком без опыта в html/css/php и т.д., поэтому нужен плагин. Я могу всё настроить, но другой человек должен иметь возможность использовать то, что я настроил.

Вы можете встроить в шаблон запрос постов по категории, тогда пользователю нужно будет только выбрать нужную категорию, чтобы пост отображался. Я добавлю код шаблона выше.

Если вы настроите систему на работу с определённой категорией, вашему пользователю нужно будет просто написать пост и назначить ему эту категорию, и всё должно работать.

@tnorthcutt - разве нельзя создать плагин из приведенного выше кода? jQuery Cycle определенно подходящее решение; я провел массу исследований по ним и постоянно возвращаюсь к вам.

Я остановился на плагине SlideDeck для WordPress для этого проекта. Вкратце, он очень хорошо продуман, отлично выглядит, очень гибкий и т.д. Пока что я впечатлён. Единственный недостаток — бесплатная версия включает очень маленькую ссылку с атрибуцией в виде изображения, но, честно говоря, он, вероятно, стоит тех $49, которые просят за WP-плагин.

Я очень доволен jcarousel. Он работает отлично, прост в использовании и обладает рядом приятных функций.

Полное раскрытие информации: я собираюсь порекомендовать jQuery-плагин, который разработал. — Это также не WordPress-плагин (хотя я над этим работаю), но его все равно можно эффективно использовать для ваших целей (на самом деле, именно ваше предложение было основной мотивацией для его создания).
Я использую Basic jQuery Slider (http://www.basic-slider.com) на сайтах моих клиентов на WordPress в сочетании с плагином OptionTree (http://wordpress.org/extend/plugins/option-tree/) для создания слайдов избранных постов/контента.
Basic jQuery Slider позволяет использовать любую разметку внутри слайдов, поэтому он идеально подходит для создания слайдера избранных постов/контента с изображением, заголовком, отрывком и т. д. Чтобы пользователь мог управлять содержимым слайдов, я использую OptionTree с простым полем выбора для каждого слайда, содержащего все текущие страницы/посты на сайте. Вам остается только настроить слайдер в своих шаблонах, извлекая соответствующие элементы контента из постов, выбранных пользователем. Альтернативно, вы можете позволить пользователю выбирать категорию, метку и т. д. и загружать контент для слайдера на основе этого.
С помощью этой комбинации также возможно создавать и управлять несколькими слайдерами на вашем сайте.
Сейчас я работаю над превращением этого в полноценный (и бесплатный) плагин для WordPress.
Надеюсь, это поможет и не выглядит слишком саморекламным :)
