如何实现WordPress移动端输入页码跳转功能

懿古今  2016-11-28 17:18  阅读 244 次

现在很多WordPress主题的移动端的文章列表页的翻页效果都不太理想,要么就是跟PC端的样式一样,但是在移动端显示不太美观;要么就是移动端和PC端分开,但是移动端的翻页功能也不太理想。就好比懿古今使用的Nana主题,移动端的翻页功能就不理想,需要一页一页地翻看,非常不人性化。所以决定优化Nana主题的移动端翻页功能,即是可以直接输入页码跳转到相应分页中。

如何实现WordPress移动端输入页码跳转功能

本文以Nana主题为例说明(同样适用于懿古今主题),其他主题请自行参考折腾。

Nana主题移动端增加输入页码跳转功能步骤:

一、修改主题文件夹中的style.css文件

1、找到以下代码

  1. .pages,.screen-reader-text

修改为

  1. .pages,.screen-reader-text,.current-page-selector

2、找到以下代码

  1. .page-numbers{display:none;padding:5px;line-height:25px}

修改为

  1. .page-numbers{display:none;padding:4px;line-height:25px}

3、找到以下代码

  1. @media screen and (max-width:550px){

在后面增加以下代码

  1. .current-page-selector {padding0px 5px;font-size11px;margin: 0;text-aligncenter;background-color:#fff;}
  2. .pagesym{display:none}

 二、修改Nana\inc\functions\pagenavi.php文件

找到以下代码

  1. if ( $i > 0 && $i <= $max_page ) $i == $paged ? print "<span class='page-numbers current'><span class='pages'>第</span>{$i}<span class='pages'>页</span></span>" : p_link( $i );

修改为

  1. if ( $i > 0 && $i <= $max_page ) $i == $paged ? print "<span class='page-numbers current'><span class='pages'>第</span><input class='current-page-selector' id='current-page-selector' type='text' max='{$max_page}' size='2' name='paged_selectors' value='{$i}'><span class='pagesym'>{$i}</span><span class='pages'>页</span></span>" : p_link( $i );

三、修改Nana\js\script.js文件

找到以下代码

  1. $(document).ready(function(){

在下方增加以下代码

  1. // 移动端输入页码跳转    
  2. $('#current-page-selector').keypress(function(event){
  3.     var page_input = $(this).val();
  4.     var page_max = $(this).attr('max');
  5.     if(event.keyCode == '13')
  6.     {
  7.         if (!(/(^[1-9]\d*$)/.test(page_input))) {
  8.       alert('请输入正整数页码!');
  9.       return false;
  10.     }
  11.         if(page_input ==''){
  12.             alert('请输入正整数页码!');
  13.             return false;
  14.         }
  15.         if(page_input<1 || page_input>Number(page_max)){
  16.             alert('请输入1至' + page_max +'之间的正整数页码!');
  17.         return false;
  18.         }
  19.         page_links = $('.nav-links a').eq(2).attr('href');//从页码列表中获取任意一个链接,此处获取第二个链接
  20.         go_link = page_links.replace(/\/page\/([0-9]{1,})/g, '/page/'+page_input); //将页码数字替换
  21.         location.href = go_link; //跳转   
  22.     }
  23. });

说明:这个JS代码里面已经对输入的值进行正整数判断,如果输入的值不是正整数,或者小于1或大于总页数都会弹出信息框提示。

至此,Nana主题的移动端翻页功能就已经有了输入页码按回车键(手机端按输入法上面的开始或其他回车键)即可自动跳转到指定页码的分页中,再也不用一直按翻页键一页一页地翻看了。

历史上的今天:

本文地址:http://yigujin.cn/1027.html
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:aiboke112
版权声明:本文为原创文章,版权归 懿古今 所有,欢迎分享本文,转载请保留出处!
WordPress免费响应式主题:Nana

发表评论


表情

  1. 营销学院
    营销学院 【村长】 @回复

    不知道博主发现没有,网站启用Ajax后,页码是多余的,况且页面不随着Ajax加载变化

    • 懿古今
      懿古今【博主】2016-12-08 16:32  回复

      @营销学院开启自动加载后就会出现这个问题,我看了很多主题都有这个问题,所以是否开启自动加载就要自己衡量了。现在有了页面自动跳转功能,可以取消自动加载的,或者把自动加载的页数改大一些,一般人也不会一直看你的文章列表到很多页,一般也就是前几页而已

  2. 91gif动态图
    91gif动态图 【省长】 @回复

    哈哈 功能不错的哦

  3. 闲鱼
    闲鱼 【镇长】 @回复

    腻害了,我的哥

  4. 春熙路
    春熙路 【县长】 @回复

    好久没来,过来看看

  5. 我爱动感单车网
    我爱动感单车网 【省长】 @回复

    [抓狂] 需要修改的地方还真不少,再有,这个方法是否适用于别的主题,比如我目前正在使用的《欲思1.0》主题呢?

  6. 商学院
    商学院 【队长】 @回复

    厉害了我的哥

  7. 橘子书
    橘子书 【县长】 @回复

    叼了炸天!

  8. 分钱榜
    分钱榜 【镇长】 @回复

    虽然用了NANA,但cms模式没有翻页了,少了一次折腾 [偷笑]

  9. 马超金博客
    马超金博客 【村长】 @回复

    好复杂的样子,我还是不折腾了,呵呵

  10. Koolight
    Koolight 【省长】 @回复

    好高大上的功能!

    • 懿古今
      懿古今【博主】2016-11-29 09:37  回复

      @Koolight[偷笑] 其实有了这个功能翻页快很多,不过大部分访问移动端站点很少会翻页