给WordPress添加独立的下载页面

一般来说下载单页就是在当前文章页插入一个按钮或者一个面板,点击之后的下载文件是在一个单独的页面的,这样的好处就是可以增加很多的下载说明以及广告,另外这样也可以增加访客的浏览量。

步骤

首先第一步就是给主题增加一个页面,复制主题page.php另存为为page-download.php
修改第一个PHP代码段如下,其中...为你原来主题的一些代码,请了解。

<?php
/**
*template name: 下载模板页面
 */
....
....
$pid = isset( $_GET['pid'] ) ? trim(htmlspecialchars($_GET['pid'], ENT_QUOTES)) : '';
if( !$pid ) { wp_redirect( home_url() );}
$title = get_the_title($pid);
$values1 = get_post_custom_values('git_download_name',$pid);
empty($values1) ? Header('Location:/') : $theCode1 = $values1[0];
$values2 = get_post_custom_values('git_download_size',$pid);
empty($values2) ? Header('Location:/') : $theCode2 = $values2[0];
$values3 = get_post_custom_values('git_download_link',$pid);
empty($values3) ? Header('Location:/') : $theCode3 = $values3[0];
?>

在第一个PHP代码段后面添加以下代码

<style type="text/css">
    #filelink a:hover{
        background:#4094EF none repeat scroll 0 0;
        color:#FFF!important;
        transition-duration:.3s;border-color:#FFF
    }
    #filelink a{
        margin:25px 15px 25px 0px;
        color:#4094EF!important;
        padding:5px 50px;
        font-family:微软雅黑,"Microsoft YaHei";
        font-size:16px;
        border:1px solid #4094EF;
        box-shadow:0 1px 3px rgba(0,0,0,.1)
    }
</style>

在输出函数< ?php the_content(); ?>前面添加如下代码

<h2>资源信息</h2>
<div>
    <ul>
        <li>资源名称:<?php echo $theCode1; ?></li>
        <li>文件大小:<?php echo $theCode2; ?></li>
        <li>更新日期:<?php echo get_post($pid)->post_modified; ?></li>
    </ul>
</div>
<h2>下载地址</h2>
<br />
<div id="filelink" align="left">
    <?php
        if ($theCode3) {
            $git_download_links = explode("\n", $theCode3);
            foreach ($git_download_links as $git_download_link) {
                $git_download_link = explode("  ", $git_download_link);
                echo '<a href="' . trim($git_download_link[0]) . '"target="_blank" rel="nofollow" data-original-title="' . esc_attr(trim($git_download_link[2])) . '" title="' . esc_attr(trim($git_download_link[2])) . '">' . trim($git_download_link[1]) . '</a>';
            }
        }
    ?>
</div>
<br />
<h2>下载说明</h2>
<div>
    <p>下载说明;</p>
</div>
<h2>免责声明</h2>
<div >
    <p>本站部分资源收集于互联网,分享目的仅供大家学习与参考,如有侵权,请联系管理员及时删除!</p>
</div>

到此一个简单的下载页面模板完成了
打开后台,新建页面,选择模板“下载模板页面”,改页面的别名为download,做好之后发布就好了,别去访问页面,一般来说页面会自动回到首页的,这个页面是不可以直接访问的,这里这样做就可以了,进入下一个步骤。
打开主题的 functions.php 文件,把下面代码放进去,这个代码是为了增加短代码功能和短代码按钮的

//下载单页短代码
function page_download($atts, $content = null) {
    return '<a class="lhb" href="'.site_url().'/download?pid='.get_the_ID().'" target="_blank" rel="nofollow">点击下载</a>';
}
add_shortcode('pdownload', 'page_download');
//添加编辑器按钮
function download_tags($mce_settings) {
?>
<script type="text/javascript">
QTags.addButton( 'hy_download', '下载按钮', '[pdownload]', '' );
</script>
<?php
}
add_action('after_wp_tiny_mce', 'download_tags');

食用方法

在发布文章前新建以下自定义栏目

名称:git_download_name,值:苍老师那些事.MkV
名称:git_download_size,值:2.69G
名称:git_download_link,值:(文件的下载链接)

《给Wordpress添加独立的下载页面》
《给Wordpress添加独立的下载页面》
注意:这里的下载链接是需要专门格式的,格式为:链接 按钮名字 备注,每个内容中间用两个空格间隔
这里做好之后,在 WordPress 文本编辑器点击单页下载按钮,然后发布文章,然后去看看文章,点击下载按钮是不是进入了一个单独的页面。

常见问题

问:每次添加文件下载的时候都需要输入那些自定义栏目?
答:只需要第一次使用的时候需要新建,从第二次开始就直接下拉就可以了,不需要重复输入的。
问:可以使用多个下载地址吗?
答:完全可以的,下载链接一个回车就可以添加多个。
问:可以像插件一样分为百度网盘,360 网盘,陈通网盘这样直接输入链接吗?
答:其实是可以的,下载链接一个回车就可以添加多个,如果像插件那样分网盘,只是多一些重复代码而已。
问:单页的那个 download 别名可以使用其他的吗?比如:xiazai?
答:不推荐修改别名,如果一定要修改别名,保持短代码里面的 download 和页面别名一样。

效果演示

点击下载

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

  1. 宅男 说道:

    你好,按照教程我也做了一个单页,但是我发现在链接后输入任意pid都可以正常打开,而你这里输入不存在的pid会302到首页,可以请教下是如何实现的吗?谢谢

  2. Rhinocero Rhinocero 说道:

    请问怎么增加单独下载页面的版本列表,比如1.0一块,2.0还在同一个页面显示在1.0的上面,单独成一块,以此类推
    感谢

    1. 鬼手六 说道:

      这个版本只适合单个文件,但可以有多个地址的下载,不适合你的要求,..

  3. 清秋暖冬 说道:

    感谢分享

  4. 羊毛 说道:

    感谢分享

  5. 夏天烤洋芋 说道:

    :arrow: 还不错的。

  6. 懿古今 说道:

    弄一个下载独立页有时候还是挺有用的

    1. 鬼手六 说道:

      大部分时候会造成访客体验不友好, :cool: 才不管他..