Wordpress:使用表单更新循环

时间:2012-01-01 23:02:37

标签: ajax wordpress jquery

我有一个照片库,我正在开发使用WP作为内容管理的手段。我非常依赖一些jQuery插件来管理UI样式和操作(通过排序)。我的问题是有太多该死的帖子! 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 :(得分:0)

出于时间限制的原因,我将放弃这种方法。我决定使用AJAX作为从链接页面拉出列表并将其显示在当前页面上的方法。

我按照本教程, http://www.deluxeblogtips.com/2010/05/how-to-ajaxify-wordpress-theme.html 在ajax.js脚本中更改了几个名字,效果很好!