在Wordpress上使用AJAX隐藏/显示发布内容

时间:2013-06-07 14:02:29

标签: ajax wordpress post

我想知道如何隐藏帖子内容,一旦点击标题,内容通过AJAX向下滑动(希望使用内置的AJAX Wordpress)。我昨天在这里,这个社区非常好,可以帮助我使用JQuery(再次感谢),但我想知道是否有可能只在点击标题时加载隐藏内容,而不是一次加载一堆隐藏的内容。这样一切都会顺利进行。

这是JQuery代码:

<script type="text/javascript">
jQuery(document).ready(function($) {


$(".event-info").hide();
$(".event-title").click(function() {
  var eventInfo = $(this).parent().children(".event-info");
  $('.event-info').not(eventInfo).slideUp();
  eventInfo.slideToggle();
});


});
</script>

HTML:

<div class="event-title">Click on title here to load content</div>

<div class="event-info">content hidden/shown here</div>

任何想法都将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:2)

最好的方法是创建一个功能

尝试这样的事情

在你的fucntions.php

    function PostAjax()
    {
        if(have_posts()) : while(have_posts()) : the_post();
        //Loop content here etc.
        endwhile; endif; wp_reset_query();
    }

    // creating Ajax call for WordPress  
    add_action('wp_ajax_nopriv_PostAjax', 'PostAjax');
    add_action('wp_ajax_PostAjax', 'PostAjax');

在页眉或页脚中

jQuery(".event-title").click(function(){ 
    jQuery.ajax({  
        type: 'GET',  
        url: '<?php echo admin_url('admin-ajax.php');?>',  
        data: {  
            action: 'PostAjax',
            MyParam: 'MyParamValue'
        },  
        success: function(textStatus){  
           $( '.event-info' ).html( textStatus ); 
        },  
        error: function(MLHttpRequest, textStatus, errorThrown){  
            alert(errorThrown);  
        }  
    });  
});  

});

和你的HTML

<div class="event-title">Click on title here to load content</div>
<div class="event-info"></div>