【问题标题】:getting the div which handles the post of my categories in wp jquery/ajax获取在 wp jquery/ajax 中处理我的类别帖子的 div
【发布时间】:2017-02-27 03:52:44
【问题描述】:

我有一个 wp_list_categories 显示我的 wordpress 网站类别。现在,我设法通过允许用户在不重新加载/刷新页面的情况下单击将显示哪个类别来显示来自 wp_list_categories 的 wordpress 类别的帖子。我有代码,但我无法获取包含我的帖子的特定 div,它返回要显示的整个页面。我的代码的输出是 ajax/jquery 返回整个页面并将其放在我的div id="inside" 中。我只想获得div id = "inside" 的部分,其中有来自所选onclick 类别的帖子。

这是我的代码:

$(document).ready(function(){
    $.ajaxSetup({cache:true});
    var $mainCategory = $('#inside'),
    $cat_links = $('ul.categories-filters li a');

    $cat_links.on('click', function (e) {
        e.preventDefault();
        $el = $(this);
        var value = $el.attr("href");
        $mainCategory.animate({opacity: "0.5"});
           $mainCategory.load(value + "#inside", function() {
            $mainCategory.animate({opacity: "1"});
    });
    });
});

我的 wp_list_categories 和 div id="#inside" 中的帖子将在那里显示。

<ul class="categories-filters">
                    <?php 
                        $args2 = array(
                            'exclude'  => array( 6,7,9 ),
                            'order' =>  'DESC',
                            'title_li'  => __(''),
                        );
                    wp_list_categories($args2);
                    ?>
                </ul>
                </div>
                <div class="col-md-8">
                    <div id="main-category" class="row row-left">
                    <?php if(have_posts()) : 
                        $count = 0;
                        while(have_posts()) : the_post();   ?>

                        <div div id="inside" class="col-xs-3 col-box2">
                            <?php the_post_thumbnail('thumbnail'); ?>
                        </div>
                            <?php if($count==2) :
                                echo '</div>';
                                echo '<div class="row row-left">';
                            endif; 
                            $count++; endwhile; 
                        endif; 
                        wp_reset_postdata();
                        ?> 
                    </div>
                </div>

【问题讨论】:

  • &lt;div div id="inside" 错字?
  • 也许你需要value + " #inside" - 注意#之前的空格 - 见documentation
  • @JaromandaX 谢谢你的回答先生。先生什么意思?
  • 我没有发布答案,我发布了关于您的 div 具有名为 div 的无效属性的评论 - 然后是关于您如何滥用 jQuery.load
  • @JaromandaX 先生,我得到了这个 $mainCategory.load(value + "#inside", function() { $mainCategory.animate({opacity: "1"});

标签: javascript php jquery ajax wordpress


【解决方案1】:

问题在于您如何使用 jquery .load 函数

$mainCategory.load(value + "#inside", function() {

文档指出 URL 和“选择器”之间需要有一个空格来部分加载检索到的 html

原来如此

$mainCategory.load(value + " #inside", function() {

【讨论】:

    猜你喜欢
    • 2012-08-08
    • 2023-04-03
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多