纯代码给WordPress网站添加独立下载页面功能

纯代码给WordPress网站添加独立下载页面功能

简单代码,给WordPress主题添加单页下载功能

纯代码给WordPress网站添加独立下载页面功能

前言

前几天有个朋友在扣扣上向我咨询下载单页的使用,我今天正好在学车,用手机打字在写下,也顺便给其他有需要的朋友们看看。

介绍

首先简单介绍下下载单页,一般来说下载单页就是在当前文章页插入一个按钮或者一个面板,点击之后的下载文件是在一个单独的页面的,这样的好处就是可以增加很多的下载说明以及广告,另外这样也可以增加访客的浏览量。我上次看到有人用安装2个WordPress来实现这个功能也是醉醉的。

开始

因为云落的Git主题是自带的下载单页的功能的,所以云落就拿WordPress的默认主题来做吧,就是20主题。本次教程重在功能代码,不在美化代码,所以云落只是简单做出差不多的东西就可以了,正所谓授人以鱼不如授人以渔是吧。

第一步,增加页面

首先第一步就是给主题增加一个页面,找到主题的默认页面文件,一般叫page.php,将他复制一份,重命名为download.php,然后就是对这个文件稍微改改了。

第二步,修改下载模板

首先打开download.php文件,将

 
 
  1. <?php
  2. get_header();
  3. ?>

替换为下面这段代码

 
 
  1. <?php
  2. /*
  3. template name: 下载模板页面
  4. description: template for WordPress theme
  5. */
  6. get_header();
  7. ?>

然后在下面添加这短代码

 
 
  1. <?php
  2. $pid = isset( $_GET['pid'] ) ? trim(htmlspecialchars($_GET['pid'], ENT_QUOTES)) : '';
  3. if( !$pid ) { wp_redirect( home_url() );}
  4. $title = get_the_title($pid);
  5. $values1 = get_post_custom_values('download_name',$pid);
  6. empty($values1) ? Header('Location:/') : $theCode1 = $values1[0];
  7. $values2 = get_post_custom_values('download_size',$pid);
  8. empty($values2) ? Header('Location:/') : $theCode2 = $values2[0];
  9. $values3 = get_post_custom_values('download_link',$pid);
  10. empty($values3) ? Header('Location:/') : $theCode3 = $values3[0];
  11. ?>

其实上面这段代码才是下载单页的核心代码,看上去也是很简单吧。
然后在下面合适的地方放入以下代码,这里就是你用来显示下载文件信息的地方,具体地址你们自己看吧。

 
 
  1.             <h2>资源信息</h2>
  2. <div class="alert alert-success">
  3. <ul class="infos clearfix">
  4.                 <li>资源名称:<?php echo $theCode1; ?></li>
  5. <li>文件大小:<?php echo $theCode2; ?></li>
  6. <li>更新日期:<?php echo get_post($pid)->post_modified; ?></li>
  7. </ul>
  8. </div>
  9.             <h2>下载地址</h2>
  10.             <div id="filelink">
  11. <center><?php echo $theCode3; ?></center>
  12.             </div>
  13. <div class="clearfix"></div>
  14.             <h2>下载说明</h2>
  15. <div class="alert alert-info" role="alert">
  16.             下载说明文字, 下载说明文字, 下载说明文字, 下载说明文字, 下载说明文字, 下载说明文字, 下载说明文字
  17.             </div>
  18.             <h2>免责声明</h2>
  19. <div class="alert alert-warning" role="alert">
  20. 免责声明文字, 下载说明文字, 下载说明文字, 下载说明文字, 下载说明文字, 下载说明文字, 下载说明文字, 下载说明文字, 下载说明文字
  21. </div>

经过上面的修改,这个文件就可以保存了,记住编码是utf-8的哦。

这里说下,理论上来说,这里其实就已经做好了下载单页的功能,只是在使用的时候不方便,不实用,所以为了方便使用还需要继续修改代码。

新建页面

打开后台,新建页面,选择模板,应该会有一个下载模板页面,选择那个,然后页面名字就叫下载中心吧,然后页面的别名就是download,其实如果你觉得页面名字英文的不太好,也可以写做其他名字,但是别名一定要是download,也就是说这个页面的URL应该是这样的http://localhost/download,做好之后发布就好了,别去访问页面哦,一般来说页面会自动回到首页的,这个页面是不可以直接访问的,这里就做的可以了,进入下一个步骤。
纯代码给WordPress网站添加独立下载页面功能

建立短代码

打开主题的functions.php文件,把下面代码放进去

 
 
  1. //下载单页短代码
  2. function page_download($atts, $content = null) {
  3.     return '<a class="lhb" href="'.site_url().'/download?pid='.get_the_ID().'" target="_blank" rel="nofollow">' . $content . '</a>';
  4. }
  5. add_shortcode('pdownload', 'page_download');

嗯,这样就可以了,这段代码为了建立download短代码的,但是还没有结束,接着看下一步。

添加编辑器按钮

这里说的按钮是WordPress默认编辑器,而且是文本编辑器,在functions.php添加下面代码就可以了。

 
 
  1. //添加编辑器按钮
  2. function download_tags($mce_settings) {
  3. ?>
  4. <script type="text/javascript">
  5. QTags.addButton( 'hy_download', '下载按钮', '[pdownload]', '[/pdownload]' );
  6. function download_shortcode() {
  7. }
  8. </script>
  9. <?php
  10. }
  11. add_action('after_wp_tiny_mce', 'download_tags');

纯代码给WordPress网站添加独立下载页面功能
使用这段代码可以在WordPress文本编辑器出来一个按钮,使用的时候先写几个字,比如点击下载,然后选择文字之后点击按钮,就好了。做到这里下载单页就做好了,下面说说具体怎么使用吧。

使用方法

做好了开始使用下载单页,我们需要用自定义栏目栏目,发布文章的时候先把自定义栏目打开,然后在自定义栏目那里有一个新建自定义栏目
纯代码给WordPress网站添加独立下载页面功能
输入download_name,然后右侧输入文件的名字,比如:苍老师的那些事.RMVB,继续输入自定义栏目 download_size,然后右侧输入文件的大小,比如:233MB,然后继续输入自定义栏目 download_link,然后右侧输入文件的下载链接,注意,这里需要输入的是A标签代码,比如:点击下载
纯代码给WordPress网站添加独立下载页面功能
这里做好之后,在WordPress文本编辑器输入立刻下载,然后点击按钮包围文字,然后发布文章吧,然后去看看文章,点击下载按钮是不是进入了一个单独的页面。
纯代码给WordPress网站添加独立下载页面功能

后语

问:这里有几个再说下,每次添加文件下载的时候都需要输入那些自定义栏目?

答:其实只需要第一次使用的时候需要新建,从第二次开始就直接下拉就可以了,不需要重复输入的。

问:填写下载文件信息的时候可以不需要这样,像插件一样直接输入文件信息吗?

答:其实是可以的,但是这个不是本文的重点,所以没有写,如果想实现那种效果可以去看看云落之前分享的自定义栏目框架的文章。

问:可以使用多个下载地址吗?

答:完全可以的,在下载链接栏目输入多个A标签即可。

问:可以像插件一样分为百度网盘,360网盘,陈通网盘这样直接输入链接吗?

答:其实是可以的,但是这个不是本文重点,其实使用多个A标签一样可以实现类似的效果,如果像插件那样分网盘,只是多一些重复代码而已。

问:单页的那个download别名可以使用其他的吗?比如:xiazai?

答:不推荐修改别名,如果一定要修改别名,保持短代码里面的download和页面别名一样。
【Ps.手机打字,好累】

效果预览

这是文章页
纯代码给WordPress网站添加独立下载页面功能
这是下载单页
纯代码给WordPress网站添加独立下载页面功能


乐趣公园 , 版权所有丨如未注明 , 均为原创丨本网站采用 BY-NC-SA协议进行授权
转载请注明原文链接: 纯代码给WordPress网站添加独立下载页面功能

将又拍云当作网盘的另类使用方法 Win 10 最完美最简单去除快捷方式小箭头方法
WordPress的文件下载插件,那么就非WP-DownLoadManager插件莫属了,此插件可以说功能强悍,它可以添加本地文件、远程文件、可以自定义本地文件在服务器上的路径,可以修改在前台显示的模板参数。 WP-DownLoadManager插件安装: 下载wp-downloadmanager插件,将文件解压缩,上传到/wp-content/plugins/目录。 登录wordpress后台控制面板激活该插件,这是后台左侧栏或多出个Downloads标签,点击标签会出现下拉列表,可以对其进行相应的设置。 下拉列表中主要有: Manage Downloads:管理下载 Add File:添加文件 添加下载的文件,在页面中可以上传文件、删除文件、设置下载文件名以及描述等内容。 Download Options:下载选项 下载选项,这里主要设置下载的路径、下载的URL、下载页面的URL、下载的连接、下载的方式等内容,不是太难,这里不做过多介绍。 Download Templates:下载模板,设置模板样式 Uninstall WP-DownloadManager:卸载WP-DownloadManager 添加下载: a.日志中添加下载:大家可以看到当你激活该插件后“添加新文章”时会多一个“下载”选项图标,点击以后只需填入阿拉伯数字,然后在页面中会插入[download id="ID"],此阿拉伯数字即为ID(你添加下载文档时的ID)。 [download id="ID" display="both"],display=”1″表示只显示你的文件名;display=”both”表示显示你的文件名和文件简介! [download id="1,2,3" category="4,5,6"] 为显示多个下载文件为1,2,3的文档,category=”4,5,6″为对应的分类ID。 b.在页面添加下载:当你添加页面时在内容框插入:[page_download]或[page_download category="1"]即可填写下载了 c.主题模板中添加添加时,你可使用代码进行,也可使用widget。 使用代码方法: 最新下载使用 <?php if (function_exists('get_recent_downloads')): ?> <?php get_recent_downloads(10); ?> <?php endif; ?> “10”为你要显示的下载文档数 显示分类下载 <?php if (function_exists('get_downloads_category')): ?> <?php get_downloads_category(1, 10); ?> <?php endif; ?> “1”为分类ID,“10”为你要显示的下载文档数 最多下载使用 <?php if (function_exists('get_most_downloaded')): ?> <?php get_most_downloaded(10); ?> <?php endif; ?> “10”为你要显示的下载文档数 使用Wideget:在激活插件的同时,也要激活插件的Wideget,激活后,在左边的侧栏中,点击"Appearance"-->Widegets,添加Most Downloaded(最多下载)和Recent Downloads(最近下载)即可,使用这种方式添加,内容会出现在前台页面的侧栏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值