无插件纯代码实现WordPress添加单独下载页面功能

如果我们选择的WordPress主题没有具备单页面下载功能的话,可以使用插件。不过老蒋还没有找到合适的插件来解决这个问题,这不应付这个功能,找到一个客户用到自定义下载页面给WordPress添加单独下载页面的功能办法。

第一、自定义下载页面模板

    <?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();?>

我们在当前的主题页面目录添加download.php页面模板。

然后,我们需要创建一个download的页面。

无插件纯代码实现WordPress添加单独下载页面功能 - 第1张

第二、下载页面功能代码

我们需要在功能页面添加小按钮。

 //下载单页短代码
    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');

无插件纯代码实现WordPress添加单独下载页面功能 - 第2张

这里我们在编辑器文本页面可以看到多下载按钮。我们可以快捷添加。

第三、如何添加下载文件

添加下载文件是通过自定义文本添加的。

git_download_name # 下载文件名称

git_download_size # 下载文件大小

git_download_link # 下载文件链接(格式为:链接 按钮名字 备注,每个内容中间用两个空格间隔)

无插件纯代码实现WordPress添加单独下载页面功能 - 第3张

这样我们就可以添加需要下载的文件。

无插件纯代码实现WordPress添加单独下载页面功能 - 第4张

这里我们可以看到文章页面是有一个文字按钮连接,然后点击后可以看到下载单页面。

第四、后续做的事情

我们可以看到这个WordPress无插件实现单独页面下载功能是有的,但是还需要微调适配我们对应的主题样式。这个需要我们后续根据自己情况调整。

参考文档:https://gitcafe.net/archives/4225.html

投上你的一票

本文出处:老蒋部落 » 无插件纯代码实现WordPress添加单独下载页面功能 | 欢迎分享( 公众号:老蒋朋友圈 )

公众号 「老蒋朋友圈」获取站长新知 / 加QQ群 【 1012423279】获取商家优惠推送

相关推荐

  • Ordown插件创建WordPress单独下载页 支持百度网盘/360盘/自定义
  • WordPress Download Manager下载管理器插件功能比较强大Pro需要付费
  • Simple Download Monitor - 免费且简单的WordPress下载管理插件
  • add_classname_to_parent_nav_link 函数给子菜单a标签添加属性
  • WordPress 自定义导航判断有子菜单的导航添加自定义样式
  • 几类常用的WordPress插件推荐(WordPress必备性能提优插件)
  • Typecho和WordPress对比优势和选择建议
  • Redirection插件升级报错"Cached Redirection detected"解决方案

天下网标王湘潭网站优化优选企业移动端网页制作及网站优化安吉网站优化企业网站排名优化全盘易速达科学优化营销网站武陟咨询网站搭建优化顺德网站优化方法兰州网站整站优化怎么选网站编辑SEO优化运营开封汕头网站优化优化网站方法真诚火23星房地产优化网站网站优化实训心得铜仁地区网站优化营销平凉市知名的网站优化知名网站优化注意事项金牛网站优化推广公司濮阳县网站优化价格网站排名优化就选云速捷郴州网站优化哪家靠谱常德企业网站优化外包优化没续费 网站没了嵊州市网站seo优化排名兴福镇英文网站优化设计电商网站seo优化如何做南京企业网站优化公司SEO按效果付费长安网站优化服务内容兰州网站关键字优化崇州公司网站优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化