Какой хороший плагин слайдера контента на jQuery для WordPress?

20 авг. 2010 г., 20:02:15
Просмотры: 3.18K
Голосов: 3

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

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

Примечание: Я ищу именно плагин для WordPress, а не просто jQuery плагин.

4
Комментарии

Извините, хотел бы помочь, но всегда пишу свои собственные. Было бы интересно узнать мнение других.

John P Bloch John P Bloch
20 авг. 2010 г. 20:27:04

Было бы полезно, если бы вы описали, как именно должен работать ваш "слайдер". Вам нужен автоматический слайд-шоу с текстовым наложением, как в Featured Content Gallery? Или что-то другое?

EAMann EAMann
20 авг. 2010 г. 20:40:27

EAMann - да, что-то подобное было бы идеально. Чем больше гибкости, тем лучше. Я отредактирую свой пост, чтобы добавить больше информации.

Travis Northcutt Travis Northcutt
20 авг. 2010 г. 20:57:55

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

EAMann EAMann
20 авг. 2010 г. 21:24:13
Все ответы на вопрос 4
5

Я знаю, что вы ищете плагин для 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">&laquo; Назад</a>
    <a class="next">Далее &raquo;</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');
20 авг. 2010 г. 22:48:00
Комментарии

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

Travis Northcutt Travis Northcutt
20 авг. 2010 г. 23:02:31

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

Chris_O Chris_O
20 авг. 2010 г. 23:41:50

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

kevtrout kevtrout
20 авг. 2010 г. 23:49:59

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

MikeSchinkel MikeSchinkel
21 авг. 2010 г. 01:08:38

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

Travis Northcutt Travis Northcutt
21 авг. 2010 г. 03:44:06
0

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

21 авг. 2010 г. 03:46:45
1

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

20 авг. 2010 г. 23:57:39
Комментарии

Я вижу, что есть плагин WordPress для jcarousel, но похоже, что он работает только с изображениями - больше как плагин для галереи изображений.

Travis Northcutt Travis Northcutt
21 авг. 2010 г. 00:09:02
0

Полное раскрытие информации: я собираюсь порекомендовать jQuery-плагин, который разработал. — Это также не WordPress-плагин (хотя я над этим работаю), но его все равно можно эффективно использовать для ваших целей (на самом деле, именно ваше предложение было основной мотивацией для его создания).

Я использую Basic jQuery Slider (http://www.basic-slider.com) на сайтах моих клиентов на WordPress в сочетании с плагином OptionTree (http://wordpress.org/extend/plugins/option-tree/) для создания слайдов избранных постов/контента.

Basic jQuery Slider позволяет использовать любую разметку внутри слайдов, поэтому он идеально подходит для создания слайдера избранных постов/контента с изображением, заголовком, отрывком и т. д. Чтобы пользователь мог управлять содержимым слайдов, я использую OptionTree с простым полем выбора для каждого слайда, содержащего все текущие страницы/посты на сайте. Вам остается только настроить слайдер в своих шаблонах, извлекая соответствующие элементы контента из постов, выбранных пользователем. Альтернативно, вы можете позволить пользователю выбирать категорию, метку и т. д. и загружать контент для слайдера на основе этого.

С помощью этой комбинации также возможно создавать и управлять несколькими слайдерами на вашем сайте.

Сейчас я работаю над превращением этого в полноценный (и бесплатный) плагин для WordPress.

Надеюсь, это поможет и не выглядит слишком саморекламным :)

28 февр. 2012 г. 21:43:56