Добавить PrettyPhoto эффект ко всем картинкам на сайте
Идея в том, что, если у вас установлен 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);
}