GoFuckYourself.com - Adult Webmaster Forum

GoFuckYourself.com - Adult Webmaster Forum (https://gfy.com/index.php)
-   Fucking Around & Business Discussion (https://gfy.com/forumdisplay.php?f=26)
-   -   Wordpress - Ads separating gallery thumbs? (https://gfy.com/showthread.php?t=1114475)

Heath 07-04-2013 04:23 PM

Wordpress - Ads separating gallery thumbs?
 
Anyone know of any plugins that separate the gallery thumbs with a banner ad?

Denny 07-05-2013 02:30 AM

Bump for you :)

just a punk 07-05-2013 05:13 AM

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');
?>

  1. Upload it to your host as /wp-content/plugins/wp-gallery-banner/wp-gallery-banner.php.
  2. Assign your values to WGB_CUSTOM_HTM_CODE and WGB_THE_ROW.

That's all, folks :pimp

P.S. Contact me if you need a custom WordPress plugin: http://www.cyberseo.net/#contacts


All times are GMT -7. The time now is 03:50 AM.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
©2000-, AI Media Network Inc123