WordPress主题使用jQuery插件Isotope添加作品集筛选功能
上一篇文章我们介绍了Isotope,功能强大,效果出众的jQuery插件,但是文章中的代码并不能使用在项目中,所以今天通过Wordpress主题来演示此功能,完全可以使用在你的主题当中。
引入Isotope代码
首先得确保你的主题加载了jQuery插件,然后在Isotope官网下载isotope.pkgd.min.js文件,放在主题的js文件夹下,添加以下代码在footer.php文件夹中:
- <script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/isotope.pkgd.min.js"></script>
- < script >
- var $container = $(".portfolio ul").isotope({});
- $("#filters").on("click", "button",
- function() {
- var filterValue = $(this).attr("data-filter");
- $container.isotope({
- filter: filterValue
- })
- });
- $("#filters button").click(function() {
- $("#filters button").removeClass("active");
- $(this).addClass("active")
- });
- < /script>
.portfolio ul为包裹作品列表的元素,#filters为包裹按钮的元素,button为按钮。
作品集页面模板
新建一个名称为template-portfolio.php作品集页面模板,顶部代码为:
添加PHP代码
将以下代码添加到template-portfolio.php文件中,具体位置根据主题代码而定。
- <section class="button-group">
- <div id="filters">
- <?php $terms=get_terms( "portfolio_field"); $count=count($terms); echo '<button class="button active" data-filter="*">'.__( '全部', 'salong' ). '</button>'; if ( $count>0 ){ foreach ( $terms as $term ) { $termname = strtolower($term->name); $termname = str_replace(' ', '-', $termname); echo '
- <button class="button" data-filter=".'.$termname.'">'.$term->name.'</button>'; } } ?>
- </div>
- </section>
- <section class="portfolio portfolio-list">
- <ul>
- <?php $args=array( 'post_type'=>'portfolio', 'posts_per_page' => -1 ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); $terms = get_the_terms( $post->ID, 'portfolio_field' ); if ( $terms && ! is_wp_error( $terms ) ) : $links = array(); foreach ( $terms as $term ) { $links[] = $term->name; } $tax_links = join( " ", str_replace(' ', '-', $links)); $tax = strtolower($tax_links); else : $tax = ''; endif; ?>
- <li class="<?php echo $tax; ?>">
- <article class="portfolio-item">
- <div class="portfolio-img">
- <?php post_thumbnail(); ?>
- </div>
- <div class="portfolio-info">
- <h3><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>
- </div>
- </article>
- </li>
- <?php endwhile; ?>
- </ul>
- </section>
这里获取的文章类型为“portfolio”,获取的是全部作品。
[musicbox]在后台新建一个作品集页面,模板选择作品集,就可以实现与萨龙网络作品集一样的筛选效果。[/musicbox]本文原创,作者:萨龙龙,其版权均为萨龙网络所有。
如需转载,请注明出处:https://salongweb.com/wordpress-theme-isotope.html
一个平平常常的人,热爱生活、旅行和摄影,骑行去过西藏,一直计划再去。14年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!在WordPress+Vue.js主题SlearnPro发布2.0重写版本后,用户反馈编辑课程选择课时时不够友好,课时很多时选择就相…萨龙网络使用的主题Purity最新版本弃用了Buddypress社区插件,这样注册表单只能使用WooCommerce商城自带的,验证码还是使用S…ajax加载更多内容相当普遍了,萨龙龙在开发主题的过程中找了很多方法都不尽完美,jQuery.ias插件是相对完美的一款。
ias全称是I…很多人在使用WordPress最新的Gutenberg编辑器时都觉得并不适应,很难上手,毕竟新的事物要是需要时间才能熟悉。如果不想用还是…经常折腾wp的人肯定不止一个博客,主题高产的WPER那就更不用说,所以我们不想重复地安装wordpress,通过WordPressMU只需要安…前面我们介绍了wpadd_inline_style函数的使用,并为主题添加自定义样式切换功能,既然有函数可以向站点输出css样式,同时也可以…为所有交易添加基于百分比的附加费
/**
*添加1%的附加费到你的购物车和结算页面
*更改百分比以将附加费设置为适合的…Woocommerce,一个wordpress的电子商务扩展插件,一个很漂亮的可以帮你卖任何东西的工具,这是插件在wordpress后台插件中的…wordpress图片延迟加载已经不是稀奇的功能,网上有很多类似的文章,添加相当简单方便,woocommerce缩略图图片延迟加载也很方便的可以…在开发吃货主题Chihuo时,要对产品和文章进行筛选,在一级分类下显示所有一级分类和当前一级分类下的所有二级分类,在二级分类下,显示所有一级分类…WordPress主题文章类型较多,想实现不同的文章类型页面调用不同的边栏,一般的方法是将代码写在主题根目录下的sidebar.php文件…WordPress网站的速度应该上每个站长必须关注的一个问题,对于刚使用WordPress的朋友,优化网站速度是比较困难的事情,找不到好的…