• Добрый день!
    Основной сайт garageplus.ru (работает на 3.4.2) Созданный тестовый 777bl.ee (3.9.1)
    Галлерея работ нестандартная, делали создатели сайта. Все корректно работало вплоть до версии 3.5, дальше начались проблемы с галлереей. Адреса http://garageplus.ru/portfolio/#results
    http://777.bl.ee/portfolio/#results
    Если перейти по второй ссылки и кликнуть по любой миниатюре видна проблема. Страничка с машиной не подгружается. Все файлы jquery_migrate в папке /wp-includes/js/jquery имеются. Где копать не понимаю. Есть упоминания в файле loop.php и loop-work.php, но моих знаний увы недостаточно. Если есть какие-либо мысли — буду очень благодарен. Даже финансово 🙂

Просмотр 8 ответов — с 16 по 23 (всего 23)
  • Автор MadBadJack

    (@madbadjack)

    шаблон записи относящийся к рубрике work

    Там их несколько. Что касается конкретно вывода машинок, то
    такой

    <?php
    global $wpdb, $params;
    
    if ($post_type) {
    	$catalog_page_url = get_permalink(page_byrole($post_type."s")->ID);
    	$ajax_nav_url = site_url("/?ajax=nav&post_type=$post_type");
    }
    $terms = $filter_taxonomies = array();
    foreach (theme_taxonomies() as $taxonomy) {
    	$terms[$taxonomy] = array();
    	foreach (get_terms($taxonomy) as $_t) {
    		if (has_data($post_type, $_t, $taxonomy, $filter_taxonomies)) {
    			$terms[$taxonomy][] = $_t;
    		}
    		elseif ($params[$taxonomy] && $_t->slug == $params[$taxonomy]) {
    			unset($params[$taxonomy]);
    			unset($_GET[$taxonomy]);
    		}
    		$filter_taxonomies[] = $taxonomy;
    	}
    }
    
    /*if (!isset($_GET['ajax']) && $post_type != 'work' && $post_type != 'sale') {
    	foreach (theme_taxonomies() as $taxonomy) {
    		if (!$params[$taxonomy] && !empty($terms[$taxonomy])) $_GET[$taxonomy] = $params[$taxonomy] = $terms[$taxonomy][0]->slug;
    	}
    }*/
    
    $column = 0;
    $leave_params = array();
    ?>
    <div class="catalog" id="nav">
    	<!--<h4>Работы центра «ГаражПлюс»</h4>-->
    	<ul>
    	<?php foreach (theme_taxonomies() as $taxonomy) : ?>
    		<?php if (has_taxonomy($taxonomy, $post_type)) : $column++; $leave_params[] = $taxonomy; ?>
    			<li>
    				<span><?php the_tax_name($taxonomy); ?></span>
    				<a href="<?php
    if ($taxonomy=='mark') { echo 'http://garageplus.ru/portfolio'; } else {
    echo "$catalog_page_url?".query_string(array(), array($taxonomy)); }
    
    ?>#results" <?php if (!$params[$taxonomy] && !isset($_GET['ajax']))
    {
    print "class=\"active$column\"";
    if ($taxonomy=='mark') { $nomarkselected=true; }
    }
    ?> ><?php the_tax_all_items($taxonomy) ?></a><br />
    				<?php if (!($taxonomy=='model'&&$nomarkselected==true)) {foreach ($terms[$taxonomy] as $term) : ?>
    				<a href="<?php echo "$catalog_page_url?".query_string("$taxonomy=".$term->slug, array()); ?>#results" <?php 
    
    if ($params[$taxonomy] == $term->slug) print "class=\"active$column\"";
    
     ?> >
    					<?php echo $term->name; ?>
    				</a><br />
    				<?php endforeach; }?>
    			</li>
    			<?php endif; ?>
    	<?php endforeach ?>
    	</ul>
    </div><!-- catalog -->
    <?php
    ?>

    До завтра, если проблему не решите, посмотрю, ушёл по делам

    Автор MadBadJack

    (@madbadjack)

    ОК. На всякий случай, все-атки основной вывод наверное

    <?php
    global $wp_query, $wp_post_types, $params;
    
    $query = array(
    	'post_type' => $post_type,
    );
    if ($_GET['all']) {
    	$query['posts_per_page'] = -1;
    }
    if ($_GET['page']) {
    	$query['paged'] = (int)$_GET['page'];
    	$next_page = $query['paged'] + 1;
    }
    else {
    	$next_page = 2;
    }
    
    foreach (theme_taxonomies() as $taxonomy) if (isset($_GET[$taxonomy])) {
    	$params[$taxonomy] = (string)$_GET[$taxonomy];
    }
    
    if (!isset($_GET['ajax'])) include '_catalog_nav.php';
    
    foreach (theme_taxonomies() as $taxonomy) if (isset($params[$taxonomy])) {
    	$query['tax_query'][] = array(
    		'taxonomy' => $taxonomy,
    		'field' => "slug",
    		'terms' => $params[$taxonomy]
    	);
    }
    
    if ($query) :
    
    	query_posts($query);
    
    	$label_for = $params['model'] ? get_term_by('slug', $params['model'], 'model')->name : "всех моделей";
    	$label_from = get_term_by('slug', $params['tbrand'], 'tbrand')->name;
    	if ($post_type == 'disc')
    		$label_which = 'Диски';
    	elseif ($post_type == 'work')
    		$label_which = 'Наши работы';
    	else
    		$label_which = $params['dtype'] ? get_term_by('slug', $params['dtype'], 'dtype')->name : $wp_post_types[$post_type]->label;
    
    	if (isset($_GET['ajax'])) {
    		while (have_posts()) {
    			the_post();
    			echo "<li>";
    			get_template_part('loop', $post_type);
    			echo "</li>";
    		}
    		return;
    	}
    
    ?>
    
    	<div class="product-block" id="results">
    <div class="fb_buttom">
    <iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fgarageplus.ru%2Fportfolio%2F%23results&width&layout=standard&action=like&show_faces=false&share=true&layout=button_count&height=35&appId=1445287072381964" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:35px;" allowTransparency="true"></iframe>
    </div>
    	<?php if (have_posts()) : ?>
    	<script type="text/javascript">
    	var next_page = <?php echo $next_page; ?>;
    	var num_pages = <?php echo $wp_query->max_num_pages; ?>;
    	</script>
    		<div class="title">
    			<h1><?php echo $label_which; ?>  <span style="color: #e8eaed; padding: 0px 4px;">/</span>
    			<span style="color: #64707e;">для <?php echo $label_for; ?></span>  <span style="color: #e8eaed; padding: 0px 4px;">/</span>
    			<?php if ($label_from) : ?><span style="color: #93a3b8;">от <?php echo $label_from; ?></span> <?php endif ?>
    			</h1>
    			<span style="padding: 0px 15px;">Найдено: <?php echo $wp_query->found_posts | $wp_query->post_count; ?></span>
    
    			<?php if (have_pages()) : ?>
    				<a href="?<?php echo query_string("all=1"); ?>#results" rel="pagination">Показать все</a>
    			<?php endif; ?>
    
    		</div>
    		<ul id="list">
    		<?php while (have_posts()) : the_post(); ?>
    			<li><?php get_template_part('loop', $post_type); ?></li>
    		<?php endwhile; ?>
    		</ul>
    
    		<?php if (have_pages()) : ?>
    			<div class="all-block">
    				<!--<a href="<?php url("?".query_string("ajax=list&page=$next_page")); ?>" class="next-page" rel="pagination">Показать ещё</a>-->
    				<a href="?<?php echo query_string("all=1"); ?>#results" class="all" rel="pagination">Показать все</a>
    			</div>
    		<?php endif; ?>
    
    	<?php endif; ?>
    
    	<?php if (in_array($post_type, array('part', 'tuning'))) :
    
    		$query['post_type'] = 'sale';
    		$query['posts_per_page'] = 4;
    		$query['paged'] = null;
    		query_posts($query);
    		if (have_posts()) : ?>
    		<div class="title">
    			<h1><?php echo $label_which; ?>  <span style="color: #e8eaed; padding: 0px 4px;">/</span>
    			<span style="color: #64707e;">Распродажа</span></h1>
    			<span style="padding: 0px 15px;"><a href="<?php echo get_permalink(page_byrole("sales")->ID); ?>">перейти в раздел</a></span>
    		</div>
    		<ul>
    			<?php while (have_posts()) : the_post(); ?>
    			<li><?php get_template_part('loop', $post_type); ?></li>
    			<?php endwhile; ?>
    		</ul>
    		<?php endif; ?>
    
    	<?php endif; ?>
    
    	</div><!-- product-block -->
    
    <?php endif; ?>
    
    <?php
    function have_pages() {
    	global $wp_query;
    	if ($wp_query->paged < $wp_query->max_num_pages && $wp_query->max_num_pages > 1) return true;
    	return false;
    }
    ?>

    1. Для начала рекомендую включить отладчик (В файле wp-config.php значение константы ‘WP_DEBUG’ установить в true) и посмотреть что будет вываливаться при загрузке страницы записи из рубрики work (если будет вываливаться).

    2. Код тех шаблонов, которые вы выше скинули — думаю они не из той оперы. Нужен шаблон записи рубрики work, в котором идет вывод div с классом «product-info», а так-же возможные вложенные шаблоны, которые подключаются внутри этого div-а.

    Автор MadBadJack

    (@madbadjack)

    Дебаг включил.
    Шаблон значит этот

    <?php get_header();
    global $params;
    the_post();
    
    //echo $taxonomy = get_single_post_term(get_the_ID(), 'art');
    
    //$tax = get_taxonomy('art');
    //$terms = get_terms($taxonomy,array('hide_empty' => 0));
    
     //pr($terms);
    
    $post_type = $post->post_type;      //part
    foreach (theme_taxonomies() as $taxonomy) if (has_taxonomy($taxonomy, $post_type)) {
    	$_GET[$taxonomy] = $params[$taxonomy] = get_single_post_term(get_the_ID(), $taxonomy, 'slug');  //mersedes-bartinterior
    }
    
    include '_catalog_nav.php';
    
    ?>
    
    <?php $images = get_attachment_images(get_the_ID(), array('preview', 'gallery')); ?>
    <div class="product-info">
    	<div class="img">
    		<div class="project-preview">
    			<img src="" id="preview" />
    		</div>
    		<div class="thumbs">
    			<ul>
    				<?php foreach ($images as $image) : ?>
    				<li><a href="<?php echo $image->sizes['gallery'][0]; ?>"><?php echo wp_get_attachment_image($image->ID, 'preview'); ?></a></li>
    				<?php endforeach; ?>
    			</ul>
    		</div>
    	</div><!-- img -->
    	<?php get_template_part('entry', $post_type); ?>
    </div><!-- product-info -->
    
    <?php if (in_array($post_type, array('part', 'disc', 'tuning', 'acc', 'sale'))) : 
    
    	$other = new WP_Query(array(
    		'post_type' => $post_type,
    		'tax_tbrand' => $params['tbrand'],
    		'post__not_in' => array($post->ID),
    		'posts_per_page' => 3,
    		'orderby' => 'rand',
    	));
    
    	if($other->have_posts()):
    
    ?>
    
    <div class="product-block small-block">
    	<div class="title">
    		<h1>Другая продукция от <span style="color: #93a3b8;"><?php the_terms_plain(get_the_ID(), 'tbrand'); ?></span></h1>
    	</div>
    	<ul>
    	<?php
    	while ($other->have_posts()) : $other->the_post(); ?>
    		<li><?php get_template_part('loop', $post_type); ?></li>
    	<?php endwhile; ?>
    	</ul>
    
    </div><!-- product-block -->
    	<?php endif; ?>
    <?php endif; ?>
    
    <?php get_footer(); ?>

    Может быть я Вам дам доступ? FTP, админка. Почта mad/=/madbadjack.com

    Может быть я Вам дам доступ? FTP, админка.

    Вот да, давайте наверное так, иначе гадание. Высылайте доступ к FTP и админке на SvenSoft@mail.ru

    Автор MadBadJack

    (@madbadjack)

    SvenSoft, огромное Вам спасибо за оперативную и БЕСКОРЫТНУЮ правку шаблона (темы). Все работает как часы!
    Большой респект от меня лично и от владельца ресурса.

    Автор MadBadJack

    (@madbadjack)

    БЕСКОРЫТНУЮ

    БЕСКОРЫСТНУЮ, конечно 🙂

Просмотр 8 ответов — с 16 по 23 (всего 23)
  • Тема «После обновления некорректно работает галлерея» закрыта для новых ответов.