javascript - WordPress:关闭帖子显示,直到单击过滤按钮

标签 javascript php html wordpress

(这是我之前在学习如何使用 Wordpress 的过程中提出的一系列问题的延伸)

我正在使用一个小的 JavaScript 来打开和关闭页面上帖子的显示,具体取决于帖子各自的类别。该脚本启用页面顶部的一组过滤器按钮,以在显示属于特定类别的帖子之间进行切换。

现在我想更改页面的代码,以便在第一次加载页面时(即在单击任何过滤器按钮之前)根本不显示任何内容/帖子。现在,当访问该页面时,将显示属于子类别的父类别(按钮允许过滤)的所有帖子。

我必须如何更改网站才能执行此操作?

可以在此处访问该网站的在线版本:http://udkdev.skopec.de/category/studierende/

这是网站的代码以及底部过滤按钮的 javascript:

<?php get_header(); ?>
</div>
<br>
<div class="wrapper-offset-fix wrapper-studierende">
<div class="projekte content">

    <div class="button-group filters-button-group">
        <button class="projekt-btn btn" id="category-stud-sose17">SoSe 2017</button>
        <button class="projekt-btn btn" id="category-stud-wise1617">WiSe 2016/17</button>
        <button class="projekt-btn btn" id="category-wise-201415">SoSe 2016 </button>
        <button class="projekt-btn btn" id="category-sose-14">WiSe 2015/16</button>
        <button class="projekt-btn btn" id="category-sose-14">SoSe 2015 </button>
        <button class="projekt-btn btn" id="category-sose-14">WiSe 2014/15</button>    
    </div>

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

        <div <?php post_class(); ?>>

    <?php 
                if ( has_post_thumbnail() ) {
                the_post_thumbnail('full');
            } ?> 

    <?php the_content(); ?>

            </a>
        <!--<div class="meta">Tags: <?php the_tags( '', ', ', '<br />' ); ?> </div>-->
        </div>
        <?php endwhile; ?>
    <?php else : ?>
        <h2>Couldn’t find any articles!</h2>
    <?php endif; ?>
</div>

<script>
    var $btns = $('.btn').click(function() {

      if (this.id == 'all') {
        $('.projekte > .post').fadeIn(300);
      } else {
        var $el = $('.' + this.id).fadeIn(300);
        $('.projekte > .post').not($el).fadeOut(300);
      }
      $btns.removeClass('active');
      $(this).addClass('active');
    })
</script> 

<?php get_footer(); ?>

最佳答案

您可以先隐藏所有帖子来开始此操作。 一种方法做到这一点是添加 CSS 样式

.projekte .post {display:none;}

看看你的代码,休息应该可以自行解决。不过,我会交换这些行,以便在添加新帖子之前删除帖子,如下所示:

$('.projekte > .post').not($el).fadeOut(300);
var $el = $('.' + this.id).fadeIn(300);

关于javascript - WordPress:关闭帖子显示,直到单击过滤按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45630494/

相关文章:

javascript - 构建当前小时时间戳的最快方法

javascript - 单击时关闭下拉框

php - Joomla com_user 扩展类似于 com_categories 和 com_content

javascript - "[Error] ReferenceError: Can' t 查找变量 : data"when trying to get JSON data with AJAX/jQuery request

javascript - 如何使用图片作为 if/else 语句的激活

javascript - MongoDB $sort 聚合

php - 第一次连接阻止了对 PHP 的多个请求

c# - 从网络响应中获取 HTML 值

javascript - 在 Bootstrap 中重新定位导航栏上的元素折叠

html - 将页眉中的 div 重新定位到页脚下方