最新公告
  • 欢迎您光临大资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • wordpress页码添加输入框:输入页码跳转

    wordpress页码添加输入框:输入页码跳转 最后编辑:2021-04-26
    增值服务: 自动发货 使用说明 安装指导 环境配置二次开发BUG修复

    wordpress页码添加输入框:输入页码跳转

    给wordpress的页码添加页码输入框,输入页码后点击跳转到指定页码。

    效果如图

    第一步:添加页码函数。

    下面的页码输出函数是阿树一直在用的,可放心直接使用。

    function ashuwp_pagenavi() {
    global $wp_query, $wp_rewrite;
    $wp_query->query_vars[‘paged’] > 1 ? $current = $wp_query->query_vars[‘paged’] : $current = 1;
    $pagination = array(
    ‘base’ => esc_url_raw( str_replace( 999999999, ‘%#%’, get_pagenum_link( 999999999, false ) ) ),
    ‘format’ => ”,
    ‘total’ => $wp_query->max_num_pages,
    ‘current’ => $current,
    ‘show_all’ => false,
    ‘type’ => ‘plain’,
    ‘end_size’=>’1’,
    ‘mid_size’=>’3’,
    ‘prev_text’ => ‘上一页’,
    ‘next_text’ => ‘下一页’
    );
    $total_pages = $wp_query->max_num_pages;
    if( !empty($wp_query->query_vars[‘s’]) )
    $pagination[‘add_args’] = array(‘s’=>get_query_var(‘s’));
    echo ‘<div class=”page_nav”><div class=”nav_wrap clearfix”>’;
    echo ‘<div class=”total”><span>第’.$current.’/’.$total_pages.’页,共</span><span class=”blue”>’.$wp_query->found_posts.'</span><span>个结果</span></div>’;
    if($total_pages>1){
    echo ‘<div class=”goto”>
    <span>跳转至:第</span>
    <input id=”page_input” type=”text” max=”‘.$total_pages.'” name=”page_num” value=”” />
    <span>页</span>
    <a href=”#” class=”go_btn”>确认</a>
    </div>’;
    }
    echo ‘<div class=”page-nav clearfix”><nav>’;
    if ( $current !=1 ) {
    echo ‘<a class=”page-numbers first” href=”‘. esc_html(get_pagenum_link(1)).'”>首页</a>’;
    }
    echo paginate_links($pagination);
    if ( $current < $total_pages ) {
    echo ‘<a class=”page-numbers last” href=”‘. esc_html(get_pagenum_link($total_pages)).'”>尾页</a>’;
    }
    echo ‘</nav></div>’;
    echo ‘</div></div>’;
    }

    在需要输出页码的页面,执行该函数即可,即直接加上下面代码即可执行

    <?php ashuwp_pagenavi(); ?>

    第二步:引入js文件。

    既然是输入页码跳转,那肯定要用到js。下面的js代码阿树加了注释,请将js代码加入到js文件中即可,当然需要jquery支持。

    思路很简单,就是在点击“跳转”按钮的时候,获取输入的页码,再获取任意一个页码链接,将页码数字替换掉即可。

    本教程的页码链接类型为:http://www.xxxx.com/xxx/page/4  这种,如果你的不是这种,请修改下面js里面的页码替换部分。

    jQuery(document).ready( function($){
    //.page_nav a.go_btn为确认按钮,点击执行
    $(‘.page_nav a.go_btn’).on(‘click’,function(event){
    event.preventDefault(); //取消默认动作
    page_input = $(‘#page_input’); //获取输入框的值
    page_max = page_input.attr(‘max’); //获取输入框中的max属性的值,就是最大页码
    if(page_input.val()==”){
    alert(‘请输入页码’);
    return false;
    }
    if((page_input.val()<1) || (page_input.val()>page_max)){
    alert(‘请输入1至’ + page_max + ‘之间的数字’);
    return false;
    }
    page_links = $(‘.page-nav a’).eq(1).attr(‘href’); //从页码列表中获取任意一个链接,此处获取第一个链接
    go_link = page_links.replace(/\/page\/([0-9]{1,})/g, ‘/page/’+page_input.val()); //将页码数字替换
    location.href = go_link; //跳转
    });
    $.fn.onlyNum = function onlyNum() {
    $(this).keypress(function (event) {
    var eventObj = event || e;
    var keyCode = eventObj.keyCode || eventObj.which;
    if ((keyCode >= 48 && keyCode <= 57))
    return true;
    else
    return false;
    }).focus(function () {
    //禁用输入法
    this.style.imeMode = ‘disabled’;
    }).bind(“paste”, function () {
    //获取剪切板的内容
    var clipboard = window.clipboardData.getData(“Text”);
    if (/^\d+$/.test(clipboard))
    return true;
    else
    return false;
    });
    };
    //#page_input为页码输入框
    $(‘#page_input’).onlyNum();
    });

    猜你在找

    • 2021-04-26Hi,初次和大家见面了,请多关照!

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站中毒处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 3482249445@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系作者
    升级SVIP尊享更多特权立即升级
    My title page contents
    召唤伊斯特瓦尔