Создание URL-адреса галереи предварительно отфильтрованных изображений (безуспешно)Php

Кемеровские программисты php общаются здесь
Anonymous
Создание URL-адреса галереи предварительно отфильтрованных изображений (безуспешно)

Сообщение Anonymous »


Я использую этот плагин WordPress для создания галереи изображений с фильтрами кнопок (на основе категорий). Вот галерея: http://185.56.87.172/~canaryfi/locations-all/

Галерея работает великолепно, при нажатии на кнопку изображения автоматически сортируются.

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

Пример: http://185.56.87.172/~canaryfi/locations-all/#city, чтобы показать ту же галерею, отфильтрованную по городам, или /#desert, чтобы показать пустыни

Я пытался изменить изотоп, название категории, PHP и потратил 2 дня на чтение нескольких статей в нескольких блогах и на веб-страницах разработчиков, даже я прочитал все эти статьи здесь:

изотопный фильтр для ссылки с другой страницы

Применить фильтр данных к Еще плагины от AlViMedia'; вернуть $ссылки; } функция go_gallery_enqueue_scripts() { wp_enqueue_script('imagesloaded',plugins_url('/assets/plugins/imagesloaded/imagesloaded.pkgd.min.js', __FILE__), array('jquery'), GO_GALLERY_VERSION, true); wp_enqueue_script('isotope',plugins_url('/assets/plugins/isotope/isotope.pkgd.min.js', __FILE__), array('jquery'), GO_GALLERY_VERSION, true); wp_enqueue_script('go-gallery', plugins_url('/assets/js/gallery.js', __FILE__), array('jquery', 'isotope', 'imagesloaded'), GO_GALLERY_VERSION, true); wp_enqueue_style('go-gallery', плагины_url('/assets/css/gallery.css', __FILE__), null, GO_GALLERY_VERSION); wp_enqueue_script('tos',plugins_url('/assets/plugins/tos/js/jquery.tosrus.min.custom.js', __FILE__), array('jquery'), GO_GALLERY_VERSION, true); wp_enqueue_style('tos', плагины_url('/assets/plugins/tos/css/jquery.tosrus.custom.css', __FILE__), null, GO_GALLERY_VERSION); } /** * Настройка таксономии * Создает таксономии «attachment_tag» и «attachment_category». * Улучшение с помощью фильтра `ct_attachment_taxonomies` * * @uses Register_taxonomy, apply_filters * @с версии 1.0.0 * @return void */ функция go_setup_taxonomies() { $labels = массив( 'name' => _x('Категории мультимедиа', 'общее название таксономии', 'go_gallery'), 'singular_name' => _x('Категория мультимедиа', 'единственное имя таксономии', 'go_gallery'), 'search_items' => __('Поиск по категориям мультимедиа', 'go_gallery'), 'all_items' => __('Все категории мультимедиа', 'go_gallery'), 'parent_item' => __('Родительская категория мультимедиа', 'go_gallery'), 'parent_item_colon' => __('Родительская категория мультимедиа:', 'go_gallery'), 'edit_item' => __('Редактировать категорию мультимедиа', 'go_gallery'), 'update_item' => __('Обновить категорию мультимедиа', 'go_gallery'), 'add_new_item' => __('Добавить новую категорию мультимедиа', 'go_gallery'), 'new_item_name' => __('Название категории нового мультимедиа', 'go_gallery'), 'menu_name' => __('Категории мультимедиа', 'go_gallery'), ); $args = массив( 'иерархический' => ИСТИНА, 'labels' => $labels, 'show_ui' => ИСТИНА, 'show_admin_column' => ИСТИНА, 'query_var' => ИСТИНА, 'переписать' => ИСТИНА, ); Register_taxonomy('attachment_category', 'attachment', $args ); } add_action('init', 'go_setup_taxonomies'); /** Добавляем фильтр категорий к изображениям */ /* функция go_add_image_category_filter() { $screen = get_current_screen(); if ('upload' == $screen->id) { $dropdown_options = array( 'show_option_all' => __( 'Просмотреть все категории', 'ct' ), 'taxonomy' => 'attachment_category', 'hide_empty' => false, 'hierarchical' => true, 'orderby' = > 'имя', ); wp_dropdown_categories ($ dropdown_options); } } add_action('restrict_manage_posts', 'go_add_image_category_filter'); */ add_shortcode('go_gallery', 'go_gallery_shortcode'); функция go_gallery_bool($value){ return ($value == 'да' || $value == 'on' || $value == '1'); } function go_gallery_hex2rgb($hex, $alpha = '0.4') { $hex = str_replace("#", "", $hex); если(strlen($hex) == 3) { $r = hexdec(substr($hex,0,1).substr($hex,0,1)); $g = hexdec(substr($hex,1,1).substr($hex,1,1)); $b = hexdec(substr($hex,2,1).substr($hex,2,1)); } еще { $r = hexdec(substr($hex,0,2)); $g = hexdec(substr($hex,2,2)); $b = hexdec(substr($hex,4,2)); } $rgb = массив ($r, $g, $b); return 'rgba(' . join(', ', $rgb) . ', ' . $альфа .')'; } функция go_gallery_shortcode ($atts, $content = null) { $atts = shortcode_atts(массив( 'кот' => '', 'menu_show' => '1', 'menu_pos' => 'центр', 'лайтбокс' => 'да', 'лимит' => 20, 'border_size' => 5, 'border_color' => '#fff', 'overlay_color' => '#fff', 'menu_button' => 'все', 'menu_color' => '#fff', 'menu_bg' => '#000', 'menu_bg_hover' => '#ааа', 'menu_gap' => 4, 'hover_data' => 'да', 'bg' => '#ее', 'desc_color' => '#000', 'пробел' => 10, 'стиль' => 'нормальный', 'размер' => 'средний' ), $atts, 'go_gallery'); $выход = ''; $args = массив( 'post_type' => 'вложение', 'post_status' => 'наследовать', 'posts_per_page' => $atts['limit'], 'заказ' => 'DESC', 'orderby' => 'измененный', 'post_mime_type' => 'изображение/jpeg, изображение/gif, изображение/jpg, изображение/png' ); $категории = массив(); $atts['cat'] = array_map('sanitize_title', взрыв(',', $atts['cat'])); foreach ($atts['cat'] as $category) { if ( $term = get_term_by('slug', $category, 'attachment_category')) { $categories[$term->term_id] = $term; } } если ( !empty($categories)) { $args['tax_query'] = массив( множество( 'таксономия' => 'attachment_category', 'поле' => 'term_id', 'terms' => array_keys($categories) ) ); } $atts['menu_gap'] = мин($atts['menu_gap'], 100); $classes[] = 'го-галерея'; $classes[] = 'меню-' . $atts['menu_pos']; $classes[] = go_gallery_bool($atts['menu_show']) ? 'меню-шоу': ''; $classes[] = 'размер-' . $atts['размер']; $classes[] = 'стиль-' . $atts['стиль']; $атрибуты = массив(); $attributes['class'] = join(' ', $classes); $attributes['id'] = 'go-' . substr(md5(mt_rand(0, PHP_INT_MAX)), 0, 6); $attributes['data-gap'] = intval($atts['gap']); $attributes['data-border-color'] = $atts['border_color']; $attributes['data-lightbox'] = go_gallery_bool($atts['lightbox']) ? 'да нет'; $attributes['data-desc-color'] = $atts['desc_color']; $attributes['data-menu-color'] = $atts['menu_color']; $attributes['data-menu-bg'] = $atts['menu_bg']; $attributes['data-menu-bg-hover'] = $atts['menu_bg_hover']; $attributes['data-menu-gap'] = $atts['menu_gap']; $attributes['data-bg'] = $atts['bg']; $attributes['data-border-size'] = $atts['border_size']; $attributes['data-overlay-color'] = go_gallery_hex2rgb($atts['overlay_color']); $thumb_size = 'средний'; if ( $atts['size'] == 'большой' || ($atts['style'] == 'squared' && in_array($atts['size'], array('medium', 'large') )) ) { $thumb_size = 'большой'; } foreach ($attributes as $attribute => $value) { $атрибуты[$атрибут] = $атрибут . '="' . $value . '"'; } $query = новый WP_Query($args); $output .= ''; $output .= ' '; $output .= ''; $output .= '
  • '; foreach ($query->posts как $post) { $category_terms = wp_get_post_terms($post->ID, 'attachment_category'); $классы = массив(); $classes[] = 'предмет галереи'; foreach ($category_terms как $category_term) { $classes[] = 'категория-' . $category_term->слизняк; } $image_source = wp_get_attachment_image_src($post->ID, 'full'); $output .= '
  • '; $output .= ''; $output .= ''; $output .= wp_get_attachment_image($post->ID, $thumb_size); $output .= ''; if ( go_gallery_bool($atts['hover_data'])){ $output .= '' . $post->post_title . ''; $output .= '' . $post->post_content . ''; } $output .= ''; $output .= ''; $output .= ''; $output .= ''; } $output .= '
'; $output .= ''; $output .= ''; вернуть $выход; }

Вернуться в «Php»