Wordpress: обновление цикла с формой - PullRequest
0 голосов
/ 02 января 2012

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

<?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 - это способ сделать это, но я не хочу отменятьцелая куча кода в меню, чтобы заставить его работать.Прямо сейчас меню в стиле радио кнопок.Разве нет способа, которым я мог бы взять те же данные из этой формы и обновить параметры цикла?

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

1 Ответ

0 голосов
/ 02 января 2012

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...