• 网站正式通过备案,自己恭喜下
  • 新年新气象,新年快乐
  • 记录下对WordPress源代码的修改
  • 厉害
  • 说说可以了吧
  • 现在开始可以更方便的插入无序列表了,使用短代码
  • 你知道吗?在论坛输入233会变成一个表情哦 =.=,就是这个 :mrgreen:
  • 安装了TT-RSS,然后发现暂时不支持PHP7,然后又删除了,继续用inoreader吧,其实这个用着还好的,恩,很好
  • 前几天在黑莓应用市场居然发现了新安装应用,最重要的是几天后我居然收到了更新推送
  • 发个说说表示下存在感

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

WordPress 云落 3年前 (2016-05-13) 362次浏览 已收录 12个评论
文章目录[隐藏]

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

前言

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

介绍

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

开始

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

第一步,增加页面

首先第一步就是给主题增加一个页面,将下面代码复制并保存为download.php

<?php
/*
	template name: 下载模板页面
	description: template for Git theme
*/
get_header();
$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];
?>
<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:19px;border:1px solid #4094EF;box-shadow:0 1px 3px rgba(0,0,0,.1)}</style>
<div class="wrap">
	<div id="primary" class="content-area">
		<main id="main" class="site-main" role="main">
			<?php while (have_posts()) : the_post(); ?>
			<div class="article-content">
            <h2>资源信息</h2>
			<div class="alert alert-success">
			<ul class="infos clearfix">
                <li>资源名称:<?php echo $theCode1; ?></li>
				<li>文件大小:<?php echo $theCode2; ?></li>
				<li>更新日期:<?php echo get_post($pid)->post_modified; ?></li>
				</ul>
			</div>
            <h2>下载地址</h2>
            <div id="filelink">
				<center>
				<?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>';
    						}
						}
				?>
				</center>
            </div>
			<div class="clearfix"></div>
            <h2>下载说明</h2>
			<div class="alert alert-info" role="alert">下载说明;下载说明;下载说明;下载说明;下载说明;下载说明</div>
            <h2>免责声明</h2>
			<div class="alert alert-warning" role="alert">免责声明;免责声明;免责声明;免责声明;免责声明</div>
			</div>
		<?php endwhile; ?>
		</main><!-- #main -->
	</div><!-- #primary -->
</div><!-- .wrap -->
<?php get_footer();?>

经过上面的修改,这个文件就可以保存了,记住编码是 utf-8(无 bom)的哦,这段代码是在 WordPress 默认主题 17 的默认页面基础上修改的,然后新建页面,别名为download,选择下载单页模板,然后发布就可以了。

新建页面

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

补充代码

打开主题的 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');

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

使用方法

做好了开始使用下载单页,我们需要用自定义栏目栏目,发布文章的时候先把自定义栏目打开,然后在自定义栏目那里有一个新建自定义栏目
QQ 截图 20160513192811
输入git_download_name,然后右侧输入文件的名字,比如:苍老师的那些事.RMVB,继续输入自定义栏目 git_download_size,然后右侧输入文件的大小,比如:233MB,然后继续输入自定义栏目 git_download_link,然后右侧输入文件的下载链接

注意:这里的链接是需要专门格式的,格式为:链接 按钮名字 备注,每个内容中间用两个空格间隔

这里做好之后,在 WordPress 文本编辑器点击单页下载按钮,然后发布文章吧,然后去看看文章,点击下载按钮是不是进入了一个单独的页面。

后语

效果预览

这是文章页

这是下载单页


weinxin
扫码订阅,第一时间获得更新
微信扫码二维码,订阅我们网站的动态,另外不定时发送 WordPress 小技巧,你可以随时退订,欢迎订阅哦~

乐趣公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:纯代码给WordPress网站添加独立下载页面功能
喜欢 (33)
云落
关于作者:
无折腾,不生活,我是一个WordPress菜鸟,一个玩淘宝的卖家,欢迎你认识我,我是云落!
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(12)个小伙伴在吐槽
  1. 添加到 metabox 上 调用 应该怎么写呢
    zhang2018-06-07 23:11 回复 Windows 10 | Chrome 63.0.3239.132
  2. 请问怎么增加单独下载页面的版本列表,比如1.0一块,2.0还在同一个页面显示在1.0的上面,单独成一块,以此类推感谢
    Digit772018-04-24 09:58 回复 Mac OS X | Chrome 66.0.3359.117
    • 云落
      你说的是这种:http://52crx.com/download.html?pid=27095
      云落2018-04-24 10:35 回复 Windows 10 | Chrome 66.0.3359.117
      • 对,差不多 只不过我没一个版本会有4个链接所以要是能有每行第一列是版本号,第二列是4个下载链接的就好了,每个版本一行
        Digit772018-04-24 12:40 回复 Mac OS X | Chrome 66.0.3359.117
        • 云落
          很简单,你可以参照我的主题download.php文件看看
          云落2018-04-24 12:43 回复 Windows 10 | Chrome 66.0.3359.117
          • 你正在用的这个主题吗?这怎么看到代码,能看到的都是html代码呀
            Digit772018-04-24 12:47 回复 Mac OS X | Chrome 66.0.3359.117
  3. 技术贴收藏一下先
    CPA学习网2017-12-20 16:19 回复 Windows 7 | Chrome 63.0.3239.84
  4. 好东西啊,必须收藏一下
    历史趣谈2017-10-31 19:22 回复 Windows 7 | Chrome 45.0.2454.85
  5. 漂亮,这个比插件简洁
    楚狂人博客2017-10-28 15:44 回复 Windows 7 | Chrome 55.0.2883.87
  6. 请问 download?pid=x 如何rewrite成download/x.html?试了很久都不行。
    小何同志2017-10-03 15:31 回复 Windows 7 | Chrome 58.0.3029.110
  7. 这是很不错的原创
    yemxyh2016-11-20 13:11 回复 Windows 7 | Chrome 45.0.2454.101
  8. 找了好长时间终于找到了,博主能不能在发个全一点的教程?
    金蝶财务软件2016-10-19 00:25 回复 Windows 7 | Firefox浏览器 49.0