图库大小默认为缩略图,将其更改为中等

时间:2013-07-13 作者:Sudeep Acharya

在wordpress gallery(通过添加媒体)中,当我创建图库时,它默认显示缩略图大小的图像。

我想将其设置为默认显示中等大小的图像。

手动编辑标签的旧帖子不太好,而且需要很多时间:[gallery size="medium"]

所以我想在默认情况下显示中等大小。它可以通过functions.php

1 个回复
最合适的回答,由SO网友:Rajeev Vyas 整理而成

在函数中添加以下内容。php文件,

add_filter(\'post_gallery\',\'wpse56909_post_gallery\',10,2);

function wpse56909_post_gallery($output, $attr) {
    // 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\'       => \'medium\',
        \'include\'    => \'\',
        \'exclude\'    => \'\'
    ), $attr));

    $id = intval($id);
    if ( \'RAND\' == $order )
        $orderby = \'none\';

    if ( !empty($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) ) {
        $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);
    $icontag = tag_escape($icontag);
    $valid_tags = wp_kses_allowed_html( \'post\' );
    if ( ! isset( $valid_tags[ $itemtag ] ) )
        $itemtag = \'dl\';
    if ( ! isset( $valid_tags[ $captiontag ] ) )
        $captiontag = \'dd\';
    if ( ! isset( $valid_tags[ $icontag ] ) )
        $icontag = \'dt\';

    $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;
    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" />\';
    }

    $output .= "
        <br style=\'clear: both;\' />
        </div>\\n";

    return $output;
}

结束

相关推荐

是否可以在除媒体之外的其他对话框中重复使用wp.media.EDITOR模式

要扩展:我想使用相同的模式代码/外观(如wp.media.Modal、wp.media.FocusManager中使用的)来打开我自己自定义对话框的模式,而不是媒体编辑器。在过去,我用thickbox来做这类事情,但是wp。媒体情态动词似乎是情态动词未来的发展方向——更不用说它看起来很酷了。我对JS源代码进行了一些探讨,并找到了几个可能的解决方案:“借用”代码媒体视图。js并在我的插件中使用它</“扩展”wp。媒体模态(毕竟,这是一个主干视图)</创建一个自定义实现、jQueryUI等。放弃使