Добро пожаловать в самую большую библиотеку wordpress-кода в рунете

Добавить PrettyPhoto эффект ко всем картинкам на сайте

WordPress · 26.09.2016 4:08

0 0 2019

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

// 1. Подключаем вывод скрипта лайтбокса из папки woocommerce ко всем страницам сайта
add_action( 'wp_enqueue_scripts', 'frontend_scripts_include_lightbox' );

function frontend_scripts_include_lightbox() {
global $woocommerce;

$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
$lightbox_en = get_option( 'woocommerce_enable_lightbox' ) == 'yes' ? true : false;

if ( $lightbox_en ) {
wp_enqueue_script( 'prettyPhoto', $woocommerce->plugin_url() . '/assets/js/prettyPhoto/jquery.prettyPhoto' . $suffix . '.js', array( 'jquery' ), '3.1.5', true );
wp_enqueue_script( 'prettyPhoto-init', $woocommerce->plugin_url() . '/assets/js/prettyPhoto/jquery.prettyPhoto.init' . $suffix . '.js', array( 'jquery' ), $woocommerce->version, true );
wp_enqueue_style( 'woocommerce_prettyPhoto_css', $woocommerce->plugin_url() . '/assets/css/prettyPhoto.css' );
}
}

// 2. автоматически присваиваем атрибут data-rel ко всем вложениям со ссылкой, а также проставляем атрибут для группировки всех вложений на одной страницы - чтобы можно было просматривать в виде слайдшоу

add_filter('wp_get_attachment_link', 'rc_add_rel_attribute');
function rc_add_rel_attribute($link) {
global $post;
return str_replace('<a href', '<a data-rel="prettyPhoto[news]" href', $link);
}

Обсудить сниппет
romapad

romapad

присоединился
30.04.2016

  • 61 Добавлено
    Сниппетов
  • 2 Получено
    Лайков
  • 0 Comments Posted
Теги
Поделиться с друзьями