2012-01-01 5 views
0

У меня есть фотогалерея, которую я разрабатываю с использованием WP в качестве средства управления контентом. Я полагаюсь на некоторые плагины jQuery для управления стилем и манипуляцией пользовательского интерфейса (путем сортировки). Моя проблема в том, что слишком много проклятых сообщений! 737, и каждый из них имеет миниатюру, которая отображается на странице. Это неизбежно пугает любой браузер. Тем более, что плагин сортировки «клонирует» изображения при их сортировке. Посты построены с использованием сценария Wp_query;Wordpress: Update Loop с формой

<?php 
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
    $post_per_page = 15; // (-1 shows all posts) SETS NUMBER OF IMAGES TO DISPLAY! 
    $do_not_show_stickies = 1; // 0 to show stickies 
    $args=array(
    'post_type' => array ('post'), 
    'orderby' => 'rand', 
    'order' => 'ASC', 
    'paged' => $paged, 
    'posts_per_page' => $post_per_page 
); 
    $pf_categorynotin = get_post_meta($wp_query->post->ID, true); 
    if($pf_categorynotin){ 
     $args['tax_query'] = array(
      array(
       'taxonomy' => 'category', 
       'field' => 'slug', 
       'terms' => $pf_categorynotin, 
       'operator' => 'NOT IN' 
      ) 
     ); //category__in 
    } 
    $temp = $wp_query; // assign orginal query to temp variable for later use 
    $wp_query = null; 
    $wp_query = new WP_Query($args); 
    //Begin LOOP #1 
    if(have_posts()) : 
     echo '<ul id="applications" class="applications pf_item3">'; 
     $r = 0; 
     while ($wp_query->have_posts()) : $wp_query->the_post(); 
      $post_cat = array(); 
      $post_cat = wp_get_object_terms($post->ID, "category"); 
      $post_cats = array(); 
      $post_rel = ""; 
      for($h=0;$h<count($post_cat);$h++){ 
        $post_rel .= $post_cat[$h]->slug.' '; 
        $post_cats[] = $post_cat[$h]->name; 
       } 
     $r++; 
     echo'<li data-id="id-'. $r .'" data-type="'.$post_rel.'" >'; 
     if (get_post_meta($post->ID, 'port_thumb_image_url', true)) { ?> 
    <a class="tozoom" href="<?php echo get_post_meta($post->ID, 'port_large_image_url', true); ?>" rel="example4" title="<?php echo $post->post_title; ?>"> 
    <img src="<?php echo get_post_meta($post->ID, 'port_thumb_image_url', true); ?>" class="portfolio_box" alt="<?php the_title(); ?>" width="199px" height="134px" /></a> 
     <?php } ?> 
      </li> 
     <?php endwhile ?> 
      </ul> 

и элементы сортируются по их тэгам html5 с помощью меню на боковой панели.

Вы можете видеть, как он работает здесь; http://marbledesigns.net/marbledesigns/products

В настоящее время он случайным образом загружает 15 сообщений и отображает их. Я хочу иметь возможность перезагружать сообщения на основе моего выбора из меню (через категории), а затем обновлять список изображений без обновления страницы. Я хочу иметь возможность изменять не только те сообщения, из которых отображается категория, но также и сообщения на странице.

Я думаю, что AJAX - это способ сделать это, но я не хочу отменять целую кучу кода в меню, чтобы заставить его работать. Прямо сейчас в меню есть кнопки со стрелками. Не существует способа, которым я могу взять тот же ввод из этой формы и обновить параметры цикла?

Ищет эффективное решение! Пожалуйста помоги!

ответ

0

Я собираюсь отказаться от этого метода по причине ограничения по времени. Я решил использовать AJAX как способ вывести список из связанной страницы и отобразить ее на текущем.

Я следовал этому руководству, http://www.deluxeblogtips.com/2010/05/how-to-ajaxify-wordpress-theme.html изменил имена пар в сценарии ajax.js, и он отлично поработал!