Anyone know of any plugins that separate the gallery thumbs with a banner ad?
Wordpress - Ads separating gallery thumbs?
Collapse
X
-
Had some free time today and decided to write the one for you. Here it is:
Code:<?php /* Plugin Name: WP Gallery Banner Version: 0.1 Author: CyberSEO.net Author URI: http://www.cyberseo.net/ Description: Inserts a custom HTML code (e.g. banner) below the specified row License: GPL */ define('WGB_CUSTOM_HTML_CODE', '<h1 align="center"><a href="http://www.cyberseo.net/" target="_blank">Click Here</a></h1>'); define('WGB_THE_ROW', '2'); function wgb_gallery_shortcode($attr) { global $post; static $instance = 0; $instance++; // Allow plugins/themes to override the default gallery template. $output = apply_filters('post_gallery', '', $attr); if ($output != '') return $output; // We're trusting author input, so let's at least make sure it looks like a valid orderby statement if (isset($attr['orderby'])) { $attr['orderby'] = sanitize_sql_orderby($attr['orderby']); if (!$attr['orderby']) unset($attr['orderby']); } extract(shortcode_atts(array( 'order' => 'ASC', 'orderby' => 'menu_order ID', 'id' => $post->ID, 'itemtag' => 'dl', 'icontag' => 'dt', 'captiontag' => 'dd', 'columns' => 3, 'size' => 'thumbnail', 'include' => '', 'exclude' => '' ), $attr)); $id = intval($id); if ('RAND' == $order) $orderby = 'none'; if (!empty($include)) { $include = preg_replace('/[^0-9,]+/', '', $include); $_attachments = get_posts(array('include' => $include, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby)); $attachments = array(); foreach ($_attachments as $key => $val) { $attachments[$val->ID] = $_attachments[$key]; } } elseif (!empty($exclude)) { $exclude = preg_replace('/[^0-9,]+/', '', $exclude); $attachments = get_children(array('post_parent' => $id, 'exclude' => $exclude, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby)); } else { $attachments = get_children(array('post_parent' => $id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby)); } if (empty($attachments)) return ''; if (is_feed()) { $output = "\n"; foreach ($attachments as $att_id => $attachment) $output .= wp_get_attachment_link($att_id, $size, true) . "\n"; return $output; } $itemtag = tag_escape($itemtag); $captiontag = tag_escape($captiontag); $columns = intval($columns); $itemwidth = $columns > 0 ? floor(100 / $columns) : 100; $float = is_rtl() ? 'right' : 'left'; $selector = "gallery-{$instance}"; $gallery_style = $gallery_div = ''; if (apply_filters('use_default_gallery_style', true)) $gallery_style = " <style type='text/css'> #{$selector} { margin: auto; } #{$selector} .gallery-item { float: {$float}; margin-top: 10px; text-align: center; width: {$itemwidth}%; } #{$selector} img { border: 2px solid #cfcfcf; } #{$selector} .gallery-caption { margin-left: 0; } </style> <!-- see gallery_shortcode() in wp-includes/media.php -->"; $size_class = sanitize_html_class($size); $gallery_div = "<div id='$selector' class='gallery galleryid-{$id} gallery-columns-{$columns} gallery-size-{$size_class}'>"; $output = apply_filters('gallery_style', $gallery_style . "\n\t\t" . $gallery_div); $i = 0; $raw = 0; foreach ($attachments as $id => $attachment) { $link = isset($attr['link']) && 'file' == $attr['link'] ? wp_get_attachment_link($id, $size, false, false) : wp_get_attachment_link($id, $size, true, false); $output .= "<{$itemtag} class='gallery-item'>"; $output .= " <{$icontag} class='gallery-icon'> $link </{$icontag}>"; if ($captiontag && trim($attachment->post_excerpt)) { $output .= " <{$captiontag} class='wp-caption-text gallery-caption'> " . wptexturize($attachment->post_excerpt) . " </{$captiontag}>"; } $output .= "</{$itemtag}>"; if ($columns > 0 && ++$i % $columns == 0) { $output .= '<br style="clear: both" />'; if (++$raw == WGB_THE_ROW) { $output .= WGB_CUSTOM_HTML_CODE; } } } $output .= " <br style='clear: both;' /> </div>\n"; return $output; } remove_shortcode('gallery'); add_shortcode('gallery', 'wgb_gallery_shortcode'); ?>- Upload it to your host as /wp-content/plugins/wp-gallery-banner/wp-gallery-banner.php.
- Assign your values to WGB_CUSTOM_HTM_CODE and WGB_THE_ROW.
That's all, folks
P.S. Contact me if you need a custom WordPress plugin: http://www.cyberseo.net/#contactsLast edited by just a punk; 07-05-2013, 04:20 AM.Obey the CowgodComment


Comment