web-dev-qa-db-ja.com

デフォルトギャラリー編集/テンプレート編集可能?

私はデフォルトのWordPress Galleryが大好きですが、大きな画像へのリンクが付いているので、画像をサムネイルとして表示する方法が好きではありません。

フルサイズの画像またはメディアアップローダから選択された画像のように、サムネイルリンクではなく画像を表示させる方法はありますか。

李リストにも?

だから、単に次のようになります..

<ul>
  <li><img src="wp-uploads/image.jpg" alt="image" /></li>
  <li><img src="wp-uploads/image.jpg" alt="image" /></li>
</ul>

それとも、チャンスもタフでもありません。ギャラリーはどのように機能するのでしょうか。

何かアドバイスをありがとう:)

1
Jezthomp

このコードをfunctions.phpに入れて確認してください。

function custom_gallery( $output, $attr ){
    global $post, $wp_locale;

    static $instance = 0;
$instance++;

// 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'    => 'li',
    'icontag'    => '',
    'captiontag' => '',
    'columns'    => 3,
    'size'       => 'full',
    '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_div = '';
$size_class = sanitize_html_class( $size );
$gallery_div = "<ul id=\"$selector\" class=\"gallery galleryid-{$id} gallery-columns-{$columns} gallery-size-{$size_class}\">";
$output = apply_filters( 'gallery_style', $gallery_div );

$i = 0;
foreach ( $attachments as $id => $attachment ) {
    $image = wp_get_attachment_image( $id, $size );

    $output .= "<{$itemtag} class=\"gallery-item\">";
    $output .= $image;
    if ( $captiontag && trim($attachment->post_excerpt) ) {
        $output .= "
            <{$captiontag} class=\"wp-caption-text gallery-caption\">
            " . wptexturize($attachment->post_excerpt) . "
            </{$captiontag}>";
    }
    $output .= "</{$itemtag}>";
}

$output .= "
    </ul>\n";

return $output;
}
add_filter('post_gallery', 'custom_gallery', 11, 2);

これはアップロードされた画像をリストのサムネイルの代わりにそのまま出力します。

2
Joshua Abenazer