WordPress.org

Make WordPress Core

Ticket #6380: 6380-style.diff

File 6380-style.diff, 2.2 KB (added by andy, 10 years ago)
  • wp-includes/media.php

     
    340340        if ( $output != '' )
    341341                return $output;
    342342               
    343         extract(shortcode_atts(array(
     343        extract(shortcode_atts(apply_filters('gallery_defaults', array(
    344344                'orderby'    => 'menu_order ASC, ID ASC',
    345345                'id'         => $post->ID,
    346346                'itemtag'    => 'dl',
     
    348348                'captiontag' => 'dd',
    349349                'columns'    => 3,
    350350                'size'       => 'thumbnail',
    351         ), $attr));
     351        )), $attr));
    352352
    353353        $id = intval($id);
    354354        $orderby = addslashes($orderby);
     
    369369        $captiontag = tag_escape($captiontag);
    370370        $columns = intval($columns);
    371371        $itemwidth = $columns > 0 ? floor(100/$columns) : 100;
    372        
    373         $output = apply_filters('gallery_style', "
    374                 <style type='text/css'>
    375                         .gallery {
    376                                 margin: auto;
    377                         }
    378                         .gallery-item {
    379                                 float: left;
    380                                 margin-top: 10px;
    381                                 text-align: center;
    382                                 width: {$itemwidth}%;                   }
    383                         .gallery img {
    384                                 border: 2px solid #cfcfcf;
    385                         }
    386                         .gallery-caption {
    387                                 margin-left: 0;
    388                         }
    389                 </style>
     372
     373        $output = "
    390374                <!-- see gallery_shortcode() in wp-includes/media.php -->
    391                 <div class='gallery'>");
     375                <div class='gallery'>";
    392376
    393377        foreach ( $attachments as $id => $attachment ) {
    394378                $link = wp_get_attachment_link($id, $size, true);
    395                 $output .= "<{$itemtag} class='gallery-item'>";
     379                $output .= "<{$itemtag} class='gallery-item' style='width:{$itemwidth}%'>";
    396380                $output .= "
    397381                        <{$icontag} class='gallery-icon'>
    398382                                $link
     
    415399        return $output;
    416400}
    417401
     402function gallery_style() {
     403?>
     404
     405<style type='text/css'>
     406        .gallery {
     407                margin: auto;
     408        }
     409        .gallery-item {
     410                float: left;
     411                margin-top: 10px;
     412                text-align: center;
     413        }
     414        .gallery img {
     415                border: 2px solid #cfcfcf;
     416        }
     417        .gallery-caption {
     418                margin-left: 0;
     419        }
     420</style>
     421
     422<?php
     423}
     424
     425function gallery_scan() {
     426        global $posts;
     427
     428        if ( !is_array($posts) )
     429                return;
     430
     431        foreach ( $posts as $post ) {
     432                if ( false !== strpos($post->post_content, '[gallery') ) {
     433                        add_action('wp_head', 'gallery_style');
     434                        break;
     435                }
     436        }
     437}
     438
     439add_action('template_redirect', 'gallery_scan');
     440
    418441function previous_image_link() {
    419442        adjacent_image_link(true);
    420443}