Photogallery
This plugin is meant primarily for theme developers. This plugin allows to collect photos from the the Media Manager and arrange them into albums. These albums can be combined into galleries. Both albums and galleries can be added to a theme’s navigation menu. Note that this plugin does not provide any CSS formatting and JavaScript for frontend presentation of galleries and albums. You have to format them yourself and integrate necessary JavaScript libraries, e.g Lightbox, yourself. This plugin merely gives a framework for gallery and album creation via custom post types and registration of designs for a frontend presentation. If you found a bug or have any questions, complains or suggestions please feel free to contact me. Theme Integration You have to write post type template files for your theme in order for an album or gallery to work. This gives Theme developers the most control over a frontend presentation and users a convenient way to create galleries through the WordPress dashboard. If you install this plugin, create albums and galleries and include them into your theme’s menu, you will be disappointed, since nothing will happen. Create two php files inside your theme’s directory: single-photogallery.php and single-photoalbum.php. single-photogallery.php gets called everytime a gallery is about to be viewed single-photoalbum.php gets called everytime a album is about to be viewed Now you have two options. You can register a custom design inside your theme’s function.php via e.g $kt_Photogallery->register_gallery_design() and call $kt_Photogallery->render() at an appropriated place inside your single-photogallery.php to render it depending on the user’s choice. You fetch albums, images and thumbnail details, and render consistent HTML for all albums and galleries. Refere to the PHP API section for further details on how to retrieve album IDs, image IDs and thumbnail details. Example A basic example for a custom gallery design # functions.php $kt_Photogallery->register_gallery_design ('my_gallery_design', array( 'label' => __('My Gallery Design', 'my-textdomain'), 'icon' => 'dashicons-format-gallery', 'title' => __('This is my custom gallery design', 'my-textdomain'), 'render' => 'render_my_gallery_design' )); $kt_Photogallery->register_album_design ('my_album_design', array( 'label' => __('My Album Design', 'my-textdomain'), 'icon' => 'dashicons-format-image', 'title' => __('This is my custom album design', 'my-textdomain'), 'render' => 'render_my_album_design' )); function render_my_gallery_design ($post) { global $kt_Photogallery; $album_IDs = $kt_Photogallery->get_albums($post); if ($album_IDs) { foreach ($album_IDs as $album_ID) { $album_thumbnail = $kt_Photogallery->get_thumbnail_src($album_ID); echo ' '; if ($album_thumbnail) { echo ' '; } echo ' '; } } else { printf(__('The gallery %s does not contain any albums', 'my-textdomain'), esc_html($post->post_title)); } } function render_my_album_design ($post) { global $kt_Photogallery; $image_IDs = $kt_Photogallery->get_images($post); if ($image_IDs) { foreach ($image_IDs as $image_ID) { $image = get_post($image_ID); if ($image) { $image_src = wp_get_attachment_image_src($image_ID, 'medium'); if (!$image_src) { $image_src = wp_get_attachment_image_src($image_ID, 'full'); } echo ' '; } } } else { printf(__('The album %s does not contain any images', 'my-textdomain'), esc_html($post->post_title)); } } Basic integration into Twenty Fifteen: # single-photogallery.php or single-photoalbum.php get_header(); ?> ', ' '); ?> render(); ?> get_album_count ( [$gallery_ID] ) Returns the number of albums associated with a gallery Argument int|null $gallery_ID Optional – ID of a gallery. Defaults to the current ID if used inside the Loop Returns integer|boolean – Returns an integer on success, or false if $gallery_ID yields no gallery $kt_Photogallery->get_albums ( [$gallery_ID] ) Returns an array of album IDs associated with a gallery. Argument int|null $gallery_ID Optional – ID of a gallery. Defaults to the current ID if used inside the Loop Returns array|boolean – Returns an array of IDs on success, false if $gallery_ID yields no gallery $kt_Photogallery->get_image_count ( [$album_ID] ) Returns the number of images associated with an album Argument int|null $album_ID Optional – ID of an album. Defaults to the current ID if used inside the Loop Returns integer|boolean – Returns an integer on success, or false if $album_ID yields no album $kt_Photogallery->get_images ( [$album_ID] ) Returns an array of image IDs associated with an album. Argument int|null $album_ID Optional – ID of an album. Defaults to the current ID if used inside the Loop Returns array|boolean – Returns an array of IDs on success, false if $album_ID yields no album $kt_Photogallery->get_thumbnail ( [$album_ID, [$fallback] ] ) Returns the ID of the image (attachment) used as thumbnail for an album Argument int|null $album_ID Optional – ID of an album. Defaults to the current ID if used inside the Loop Argument boolean $fallback Optional – if true and $album_ID yields no album the method returns the ID of the first image associated with the album. Default is true Returns integer|false – Returns an integer on success, false if $album_ID yields no album, no thumbnail is set or a fallback could not been resolved $kt_Photogallery->get_thumbnail_src ( [$album_ID, [$fallback] ] ) Returns an ordered array with values corresponding to the (0) url, (1) width, (2) height and (3) scale of the thumbnail associated with an album. Argument int|null $album_ID Optional – ID of an album. Defaults to the current ID if used inside the Loop Argument boolean $fallback Optional – if true and $album_ID yields no album the method returns the ID of the first image associated with the album. Default is true Returns array|false – Returns an array on success, false if $album_ID yields no album, no thumbnail is set or a fallback could not been resolved $kt_Photogallery->register_album_design ( $key, $options ) $kt_Photogallery->register_gallery_design ( $key, $options ) Registers a custom design for albums and galleries respectively. The design will be available in the Design metabox during editing Returns boolean – returns true if the design was registered successfully, false on failure. Argument string $key Required – A key used as id inside HTML/CSS and for general identification Argument callable|array $options Required – A callback rendering the design on the frontend or an associative array: string label – The text for the label string icon – The image shown next to the label. Can be dashicons-*, an URL to an image or a base 64 encoded image string title – Text used inside the HTML title attribute, usually containing a description callback render ($post, $options) – Callback rendering the design on the frontend. The arguments passed are the current post as a WP_Post instance and an associative array of the options straight from the database callback options ($current_options, $defaults, $post) – Callback for additional form fields, should echo HTML. The arguments passed are an associative array of the options straight from the database, the default options as second argument and the current post as a WP_Post instance as third. array defaults – Associative array containing default values for options. Its keys are used during saving so you should generate HTML form fields using its keys and provide a callback for filtering. callback filter ($current_options, $defaults, $post) – Callback for filtering the options before they are saved. This callback is called every time a post is saved. The arguments passed are the default options merged with the values from the current request, the default options as second argument and the current post as a WP_Post instance as third. The callback must return an associative array otherwise no options are stored. $kt_Photogallery->render( [$auto_design] ) Main output method. Depending on the current post type the method prints out a design for a gallery or an album. Argument boolean auto_design optional – If set true and no design is found, take the first registered one and proceed. Default is true Returns boolean – Returns true on success, false otherwise
Top keywords
- album52×4.00%
- id42×3.23%
- gallery26×2.00%
- returns24×1.85%
- image23×1.77%
- post20×1.54%
- design19×1.46%
- array18×1.39%
- kt17×1.31%
- album id16×1.23%
- options16×1.23%
- kt photogallery-15×1.15%
Responsive Lightbox & Gallery
Everything You Need in a WordPress Gallery Plugin Responsive Lightbox and Gallery plugin is a fully fledged WordPress gallery plugin with a powerful Drag & Drop Gallery Builder and Lightbox functionality that’s used daily by more than 100,000 active users and downloaded over 3 Million times. The beauty of it is how easy it is for you to customize it and enhance its features thanks to free and premium extensions. Why You Should Use Responsive Lightbox and Gallery Plugin Easiest Gallery Builder Say goodbye to coding. With the built-in drag and drop Gallery builder, you will be able to create beautiful galleries, customize them, and add your preferred styles in minutes. Vast Customization Options Responsive Lightbox and Gallery plugin is packed with customization options per each gallery and lightbox style so you can tweak them to suit your website’s audience with just a few clicks. SEO-Friendly and Lightweight Responsive Lightbox and Gallery plugin is built keeping SEO and performance in mind, making it lightweight and fast when it comes to page load. Premium Extensions Looking to provide a premium experience to your visitors? Responsive Lightbox and Gallery plugin offers plenty of premium extensions to provide you with even more flexibility and customization options. Need more reasons? Check them out here! What some of our 100,000+ active users say about Responsive Lightbox and Gallery plugin Amazing Gallery plugin! Versatile and powerful for both sliders and galleries, many features and style options. Really easy to use. Takes all the fiddling out of the process of creating a responsive gallery/lightbox. I needed a lightbox plugin that works reliably. This marvelous plugin does the magic. Now I can spend more on my photography and less time customizing WordPress. This plugin is quite flexible and effective. The functionality choices are broad and all quite easy to configure. Need more galley options? Responsive Lightbox and Gallery plugin can be extended with our premium extensions: Premium Extensions: * Photo & Art bundle * Justified Gallery * Expander Gallery * Hidden Gallery * Masonry Image Gallery * Slider Gallery * Lightcase Lightbox * PhotoSwipe Lightbox * Lightgallery Lightbox * Strip Lightbox * Fancybox Pro * Lightbox Comments Full Feature List Powerful and easy-to-use gallery builder 3 beautiful gallery templates – Grid, Slider and Masonry 8 responsive lightbox scripts (SwipeBox, prettyPhoto, Nivo Lightbox, Image Lightbox, Tos “R” Us, Featherlight, Magnific Popup, GLightbox) Create galleries from Media Library or Post attached images Media Folders with a drag & drop interface Access to millions of images through Remote Library Option to import remote images to Media Library Gutenberg editor compatibility Iframe, Ajax, HTML5 and Inline lightbox content support Advanced pagination, incl. AJAX and infinite scroll Automatically add lightbox to WordPress image galleries Automatically add lightbox to WordPress image links Automatically add lightbox to WordPress video links (YouTube, Vimeo) Automatically add lightbox to widgets content Automatically add lightbox to WordPress comments content WooCommerce product gallery support Popular Page builders compatibility Gallery widget Single image widget Option to display single post images as a gallery Option to modify native WP gallery links image size Option to set gallery images title from image title, caption, alt or description Option to force lightbox for custom WP gallery replacements like Jetpack tiled galleries Option to trigger lightbox on custom jquery events Option to conditionally load scripts and styles only on pages that have images or galleries in post content Highly customizable settings for each of the lightbox scripts Highly customizable settings for each gallery Multisite support .pot file for translations included