Галерея в линию

Можно каким-то образом, сделать, чтобы изображения в галереи, были в лини, а не столбиками? Или, чтобы, для экранов, 1600px, или меньше, бала одна коллонка, для экранов 1620px — 1920px две колонки, а для экранов побольше, три колонки?

ZIFIRBLAT
Оцените автора
Добавить комментарий

  1. tiaurus

    Посмотрите обсуждение подобного вопроса на официальном форуме — там есть примеры, как изменить CSS галереи.

    Ответить
  2. ZIFIRBLAT автор

    Спасибо, но кажется, там, что-то не то обсуждают, ибо я все прочел, с моим плохим английским, и попробовал все коды, но, результат, был не тот…

    Ответить
  3. vovasik

    Переопределить

    add_action( 'widgets_init', 'my_register_sidebars' );
     
    function my_register_sidebars() {
     
    	/* Регистрация сайдбара  'primary'  */
    	register_sidebar(
    		array(
    			'id' => 'primary',
    			'name' => __( 'aside' ),
    			'description' => __( 'Сайдбар.' ),
    			'before_widget' => '<div id="%1$s" class="widget %2$s">',
    			'after_widget' => '</div>',
    			'before_title' => '<h3 class="widget-title">',
    			'after_title' => '</h3>'
    		)
    	);
     
    	/* В случае нескольких сайдбаров, повторите код регистрации нужное количество раз и змените параметры register_sidebar(). */
    }
    
    
    function sandbox_globalnav() {
        echo '<div id="menu"><ul><li class="page_item"></li>';
        $menu = wp_list_pages('title_li=&sort_column=menu_order&echo=0'); // Params for the page list in header.php
        echo str_replace(array("r", "n", "t"), '', $menu);
    	echo '<li class="page_item" style="display:none">RSS</li></ul></div>';
    }
    
    remove_shortcode('gallery');
    
    function gallery_shortcode_vovasik ($attr) {
    	$post = get_post();
    
    	if ( ! empty( $attr['ids'] ) ) {
    		// 'ids' is explicitly ordered, unless you specify otherwise.
    		if ( empty( $attr['orderby'] ) )
    			$attr['orderby'] = 'post__in';
    		$attr['include'] = $attr['ids'];
    	}
    
    	// 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,
    		'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 '';
    	$valid_tags = wp_kses_allowed_html( 'post' );
    	if ( ! isset( $valid_tags[ $itemtag ] ) )
    		$itemtag = 'li';
    	foreach ( $attachments as $id => $attachment ) {
    		$link = isset($attr['link']) && 'file' == $attr['link'] ? wp_get_attachment_link($id, $size) : wp_get_attachment_link($id, $size);
    		$output .= "<{$itemtag}>";
    		$output .= "$link";
    	}
    	$output = '
    	<ul id="horiz_container_outer">
    		<li id="horiz_container_inner">
    			<ul id="horiz_container">'
    				.$output.
    		    '</ul>
    		</li>		
    	</ul>
    		<div id="scrollbar">
    		<a id="left_scroll" class="mouseover_left mouseover" href="#" rel="nofollow"></a>
    		<div id="track">
    		     <div id="dragBar"></div>
    		</div>
    		<a id="right_scroll" class="mouseover_right mouseover" href="#" rel="nofollow"></a>
    	</div>';
    
    	return $output;
    }
    
    add_shortcode('gallery', 'gallery_shortcode_vovasik');
    Ответить