一、问题描述
本站使用的DUX5.4主题增加了“产品中心”模板,对展示文章多了一种选择,但很可惜的是整个页面无法铺满,如下所示:
官方版排列方式
本站排列方式
二、问题分析
经初步判断,问题出在分类目录,经确认发现每页显示文章为10个,铺满应该是12个,问题找到了需要对应的解决办法。
三、解决问题
1、寻找有价值参考信息
对于一个小白来说互联网是最好的教师,搜索DUX主题分类问题没有找到答案,变硬着头皮改成“wordpress 默认显示文章数量”为关键词搜索,找到了两个有价值的信息:
修改Wordpress中的分类目录每页的博客条数:今天碰到个问题,需要修改Wordpress中的分类目录(Category)页面一页显示的博客(Post)条数。本来是10条,通过分页每一页显示10条,想改成20条。 于是直接看Category.php的代码,发现没有控制条数的代码,用的只是while (have_posts()) : the_post(); 的循环。于是又去看分页插件的设置,同样没找到。
修改模板archive文章分类的显示条数
今天看到首页显示文章15条在后台可以控制,而某个分类下只显示10条内容。因为去图片展示所以导致页面显示不完整。
所以修改内容页面也显示15条。修改如下:
1.可以添加代码至相关页面模板(category.php、search.php、archive.php)
把如下代码:
<?php $posts = query_posts($query_string . '&orderby=date&showposts=15'); ?>添加至category.php、search.php、archive.php或其它页面模板中,以下函数之前:
<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>代码中的15就是显示多少条。
个人建议:首页显示的文章数通过后台来控制,其他的嘛,就用这句代码来搞定。
2.并且可以更改代码中的 orderby=date 还可以按ID 什么的 具体看你自己的需求了。
2、整理有价值信息
经过确认,可以确定以下几点:
(1)修改某个文件可以解决,范围:category.php、search.php、archive.php
(2)锁定关键词:have_posts()
(3)修改内容:在“have_posts()”前增加<?php $posts = query_posts($query_string . '&orderby=date&showposts=15'); ?>
经过查阅和测试,在category.php、search.php、archive.php中没有找到有价值的“have_posts()”语句,但在category.php中有赋值ID“default”和“product”,由此判断在修改loop-product.php无疑,的确在文件中找到以下语句:
<?php if ( have_posts() ): echo '<div class="loop-product-content">'; while ( have_posts() ) : the_post(); echo '<article class="loop-item">'; echo '<a'. _post_target_blank() .' class="thumbnail" href="'.get_permalink().'">'._get_post_thumbnail().'</a>'; echo '<h2><a'. _post_target_blank() .' href="'.get_permalink().'">'.get_the_title().'</a></h2>'; if( _get_post_price() ){ echo '<footer>'; echo '<span class="price">'._get_post_price(_get_price_pre().' ').'</span>'; echo '</footer>'; } echo '</article>'; endwhile; wp_reset_query(); echo '</div>'; _moloader('mo_paging'); else: get_template_part( 'content-404' ); endif; ?>
3、修改和测试
为避免网站再次出现崩溃的悲剧,在本地了修改,并测试完美。即在“have_posts()”前增加<?php $posts = query_posts($query_string . 。修改如下:
<?php $posts = query_posts($query_string . '&orderby=date&showposts=12'); ?> <?php if ( have_posts() ): echo '<div class="loop-product-content">'; while ( have_posts() ) : the_post(); echo '<article class="loop-item">'; echo '<a'. _post_target_blank() .' class="thumbnail" href="'.get_permalink().'">'._get_post_thumbnail().'</a>'; echo '<h2><a'. _post_target_blank() .' href="'.get_permalink().'">'.get_the_title().'</a></h2>'; if( _get_post_price() ){ echo '<footer>'; echo '<span class="price">'._get_post_price(_get_price_pre().' ').'</span>'; echo '</footer>'; } echo '</article>'; endwhile; wp_reset_query(); echo '</div>'; _moloader('mo_paging'); else: get_template_part( 'content-404' ); endif; ?>
评论前必须登录!
注册