很多文章页尾会有分享功能,但是本文介绍的是一款比较全的分享,如题,该功能主要用于生成一份海报页面,具体显示效果如下:
核心代码打包至 poster 文件夹,方便调用及维护
更改上传目录为 upload/posterimg (原代码将海报直接上传到媒体库并与文章相关联,并且每次都会生成新的海报,时间长了会导致媒体库臃肿,堆积大量无用文件)
调整前段显示样式(新的样式更好看)
还有一些其他的。。。(我也忘了具体是什么了☹)
PHP 必须开启 GD 库,绘制海报图片要用到。开启方法看这里>>>PHP 如何开启 GD 库?
必须引入 jQuery ,javascript 中 AJAX 提交到 admin-ajax.php 处理要用到
single.php 文件修改
<div class="poster-share-ico"><a class="btn-bigger-cover" data-nonce="<?php echo wp_create_nonce('mi-create-bigger-image-'.$post->ID );?>" data-id="<?php echo $post->ID; ?>" data-action="create-bigger-image" id="bigger-cover" href="javascript:;"><i class="fa fa-paper-plane"></i> <span>生成海报</span></a></div>
footer.php 文件修改
<?php require_once get_stylesheet_directory() . '/poster/poster-pop.php';?>
functions.php 文件修改
<?phprequire get_stylesheet_directory() . '/poster/poster.php';?>
生成海报失败的原因
/** * @name 生成分享海报 * @author 蝈蝈要安静 | 一个不学无数的伪程序员(修订) * @url https://blog.quietguoguo.com * @version 2019年03月19日修订版 *///提交到wordpress自带的ajax处理$(document).on('click touchstart', '.btn-bigger-cover', function (event) { event.preventDefault(); var bigger_cover = $('.poster-image img'), btn_bigger_cover = $('#bigger-cover'); if (bigger_cover.hasClass('load-poster-img')) { $.ajax({ //url: jsui.ajax_url, url: '\/wp-admin\/admin-ajax.php', // 这地方改成自己的 admin-ajax.php 地址 type: 'POST', dataType: 'json', data: btn_bigger_cover.data(), }).done(function (data) { if (data.s == 200) { bigger_cover.attr('src', data.src); $('.poster-share-weibo').attr('href', data.share_weibo); $('.poster-share-qzone').attr('href', data.share_qzone); $('.poster-share-qq').attr('href', data.share_qq); $('.poster-share-renren').attr('href', data.share_renren); $('.poster-down').attr('href', data.src); bigger_cover.removeClass('load-poster-img'); $('.image-loading').remove(); } else { alert( data.m ); } }).fail(function () { alert('Error:网络错误,请稍后再试!'); }) } $('.poster-share').css({'opacity':'1','visibility':'inherit'}); });//关闭窗口$(document).on('click touchstart','.poster-close',function() { $('.poster-share').css({'opacity':'0','visibility':'hidden'}); });
options.php 文件修改
//蝈蝈海报$options[] = array( 'name' => __( '蝈蝈海报', 'QGG' ), 'type' => 'heading');// 分享海报 $options[] = array( 'name' => __('海报功能开启', 'QGG'), 'id' => 'poster_share_open', 'std' => true, 'desc' => __('开启', 'QGG'), 'type' => 'checkbox');$options[] = array( 'name' => __( '默认头部大图', 'QGG' ), 'desc' => __( '上传一张显示在封面顶部的大图', 'QGG' ), 'id' => 'poster_default_img', 'std' => '', 'type' => 'upload');$options[] = array( 'name' => __( '左下角LOGO', 'QGG' ), 'desc' => __( '上传一张显示在封面底部的LOGO', 'QGG' ), 'id' => 'poster_logo', 'std' => '', 'type' => 'upload');$options[] = array( 'name' => __( '网站宣传语', 'QGG' ), 'desc' => __( '显示在LOGO下方的一句宣传语', 'QGG' ), 'id' => 'poster_desc', 'std' => '', 'type' => 'text');$options[] = array( 'name' => __( '右下角二维码', 'QGG' ), 'desc' => __( '开启后将再封面图的右下角现在当前文章的二维码', 'QGG' ), 'id' => 'share_poster_img_qrcode', 'std' => false, 'type' => 'checkbox');
single.php 文件调整
<!-- 海报分享功能(蝈蝈要安静 2019年03月19日修订版 --><?php if( QGG_options('poster_share_open') ){ ?> <div class="poster-share-ico"> <a class="btn-bigger-cover" data-nonce="<?php echo wp_create_nonce('mi-create-bigger-image-'.$post->ID );?>" data-id="<?php echo $post->ID; ?>" data-action="create-bigger-image" id="bigger-cover" href="javascript:;"><i class="fa fa-paper-plane"></i> <span>生成海报</span></a> </div><?php } ?>
poster.php 文件调整
// 获取海报底部二维码图片//if(QGG_Options('share_poster_img_qrcode')){$qrcode_img = get_template_directory_uri().'/poster/functions/qrcode.php?data='.get_the_permalink($post_id);//}else{//$qrcode_img = NULL;//}
以上就是全部教程,大家可以尝试修改一下,修改前请做好文件备份。
文章版权声明
1 本网站名称:忆路吧
2 本站永久网址:http://www.Yiluxb.cn
3 本网站的文章部分内容来源于网络,仅供大家学习与参考,如有侵权,请联系站长 QQ进行删除处理。
4 本站资源仅供学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除。
5 本站大部分下载资源收集于网络,不保证其完整性以及安全性,不提供技术支持,请下载后自行研究。
6 若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。
2 本站永久网址:http://www.Yiluxb.cn
3 本网站的文章部分内容来源于网络,仅供大家学习与参考,如有侵权,请联系站长 QQ进行删除处理。
4 本站资源仅供学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除。
5 本站大部分下载资源收集于网络,不保证其完整性以及安全性,不提供技术支持,请下载后自行研究。
6 若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。
还没有评论,来说两句吧...