使用AJAX按类别动态加载自定义帖子

使用AJAX按类别动态加载自定义帖子,ajax,wordpress,categories,custom-post-type,Ajax,Wordpress,Categories,Custom Post Type,我在这个网站上工作: …在主页上显示一个玩具组合。玩具有不同的类别:婴儿、车辆、教育等。当用户单击侧栏菜单“婴儿”时,右侧将列出所有类别为“婴儿”的玩具的缩略图 我目前通过使用不同的页面模板为每个类别设置了以下自定义循环: <!-- loop to show products list --> <?php $args = array( 'post_type' => 'products', 'orderby' => 'title', '

我在这个网站上工作:

…在主页上显示一个玩具组合。玩具有不同的类别:婴儿、车辆、教育等。当用户单击侧栏菜单“婴儿”时,右侧将列出所有类别为“婴儿”的玩具的缩略图

我目前通过使用不同的页面模板为每个类别设置了以下自定义循环:

<!-- loop to show products list -->
<?php
    $args = array(
    'post_type' => 'products',
    'orderby' => 'title',
    'order' => 'DES',
    'posts_per_page' => 8,
    'paged' => get_query_var ('page'),
    'post_parent' => $parent,
    'category_name' => 'educational'
    ); 
?>

<?php query_posts($args); ?>

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

<li>
    <a href="<?php the_permalink() ?>" class="product_image">
        <?php echo get_post_meta($post->ID, 'ProductImage', true);?>
        <span class="overlay"></span>
    </a>
    <h3 class="product_tit"><a href="<?php the_permalink() ?>"><?php the_title();?></a></h3>                                
</li>   

<?php endwhile; ?>

<?php else :?>

<p>There are no products to display</p>

<?php endif; ?>
尽管这可以正常工作,但每次用户从菜单中选择一个类别时,页面都会刷新

我想用AJAX实现这一点,这样页面就不会刷新,并且在维护分页的同时动态加载自定义post类型的产品

非常感谢任何关于从哪里开始的建议

我正在使用:

Wordpress 3.5.1 自定义Post类型用户界面插件
我仍然没有评论的权利,所以我把我的评论放在这里作为一个答案,也许会有帮助

对于这种情况,我的方法是创建一个php文件file.php,我将通过一个类似于file.php?p=fo示例的参数来处理它

<?php

$p=$_GET['p']; 

require('../../../wp-load.php');

?>

                            <?php

                            $my_query = new WP_Query();
                            $my_query->query(array( 'post__in' => array($p)));




                            if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post(); 

                               ?>
    <li>
    <a href="<?php the_permalink() ?>" class="product_image">
        <?php echo get_post_meta($post->ID, 'ProductImage', true);?>
        <span class="overlay"></span>
    </a>
    <h3 class="product_tit"><a href="<?php the_permalink() ?>"><?php the_title();?></a></h3>                                
</li>  
                                <?php
                            endwhile;
                            endif;


?>

注意,您应该将li和动态加载的内容放在一个div中,我称之为包含li的div。单击锚点,调用该锚点的javascript函数fid。当然,您可以通过wordpress循环为每个锚点分配一个id。

您是在问AJax的方法是什么,也许您是新手,还是wordpress的常用方法?我可以帮助1,但不能帮助2。我有一些AJAX方面的经验,但我正在寻找AJAX代码如何与WP交互以按类别发布文章的指导。只是在寻找方法上的指针,而不是找人为我做作业的人。我的建议是将这个答案与以下内容结合起来:
function f(str)
{

$.ajax({  
cache: true,  
   type: "GET",  
   timeout: 5000,   
   url: 'url/to/file.php?p='+str,  
   success: function(msg)  
    {  

                $('#the_div_containing_li').html(msg);

    },  
    error: function(msg)  
    {  

       alert("Your browser broke!");
            return false;
    }  
});


}