WordPress 添加海报分享功能

如题,该功能主要用于生成一份海报页面,具体显示效果如下:

代码参考自精品资源分享博客,原代码存在一些问题导致添加后不能正常使用,自己对代码做了些简单调整,具体调整内容如下:

  • 核心代码打包至 poster 文件夹,方便调用及维护
  • 更改上传目录为 upload/posterimg (原代码将海报直接上传到媒体库并与文章相关联,并且每次都会生成新的海报,时间长了会导致媒体库臃肿,堆积大量无用文件)
  • 调整前段显示样式(新的样式更好看)
  • 还有一些其他的。。。(我也忘了具体是什么了☹)

使用前请注意:

  • PHP 必须开启 GD 库,绘制海报图片要用到。开启方法看这里>>>PHP 如何开启 GD 库?
  • 必须引入 jQuery ,javascript 中 AJAX 提交到 admin-ajax.php 处理要用到

好了,下面简单说下使用方法。

single.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 文件修改

在footer.php 文件中添加如下代码(前端弹窗):

<?php
require_once get_stylesheet_directory() . '/poster/poster-pop.php';
?>

functions.php 文件修改

在footer.php 文件中添加如下代码(海报生成):

<?php
require get_stylesheet_directory() . '/poster/poster.php';
?>

生成海报失败的原因

公众号二维码加载失败时的替代文字
此处内容已经被作者无情的隐藏,请输入验证码查看内容
验证码:
请关注“你公众号名字”官方公众号,回复关键字“海报分享”,获取验证码。 【注】手机扫描二维码快速关注“你公众号名字”官方公众号。

如果按以上步骤设置正确了 ,那么你的主题应该已经实现了海报分享的功能。

如果你是的主题使用了 OptionsFrameWork 框架搭建的后台设置面板,那么下面的步骤将有助于你生成一些后台控制按钮。

options.php 文件修改

将以下代码添加到主题 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 文件调整

将 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 文件调整

取消 poster.php 文件中如下代码的注释(大概在342行位置):

// 获取海报底部二维码图片
//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;
//}

应该就这些了,其他问题留言吧。

蝈蝈下载面板

此资源下载价格为1G币,请先
注意:本站资源多为网络收集,如涉及版权问题请及时与站长联系,我们会在第一时间内与您协商解决。如非特殊说明,本站所有资源解压密码均为:blog.quietguoguo.com。
未经允许不得转载

文章标题:蝈蝈要安静 » WordPress 添加海报分享功能

原文链接:https://blog.quietguoguo.com/3645.html

发布信息:文章由【蝈蝈要安静】于<2019-03-24>发布于【主题修改】分类下

相关标签:||

相关推荐

评论 ( 33 )

  • 昵称 (必填)
  • 邮箱 (必填)
  • QQ (选填)
  • 网址(选填)
  1. #19

    如果wp使用了oss怎么处理呢?

    kingwise2个月前 (10-08)回复
  2. #18

    注释掉所有QGG_Options以后确实会生成海报,但是好像不带缩略图

    wei2个月前 (10-07)回复
  3. #17

    有哪些QGG_Options相关的代码需要注释?谢谢

    匿名4个月前 (08-02)回复
  4. #15

    生成海报的时候提示Error:网络错误,请稍后再试!admin-ajax.php我就用的你默认的,没有修改,应该是官方的吧,不知道怎么弄了,能否帮忙下呢?

    匿名5个月前 (07-02)回复
  5. #14

    东西不错

    匿名6个月前 (06-28)回复
  6. #13

    😐 为什么我按照教程来,网站就空白了、

    wulintang7个月前 (05-14)回复
  7. #12

    请问1元支付这个文件是最新的版本吗?我按照教程配置上,点击按钮无效,也没有任何报错!

    dahu7个月前 (05-14)回复
  8. #11

    不好意思,看到了 😐

    dazi8个月前 (04-26)回复
  9. #10

    找很久了这个功能,在某个主题上见过,相关有bigger,配置下试试。

    值品8个月前 (04-22)回复
    • 目前我这用着没啥问题,而且主要文件都注释了,自己调下应该就可以。

      蝈蝈要安静8个月前 (04-23)回复
      • 解码密码就不能放到下载页面么,求告知。

        dazi8个月前 (04-26)回复
  10. #9

    生成海报的时候提示Error:网络错误,请稍后再试!
    admin-ajax.php 地址又没问题

    jack8个月前 (04-17)回复
    • 解决了吗,我的也是网络错误。

      dazi7个月前 (05-06)回复
      • 没有解决…

        jack7个月前 (05-06)回复
        • 你试试吧poster.js文件内容放入自己主题的js文件内

          dazi7个月前 (05-06)回复
          • 不行,试了还是一样

            jack7个月前 (05-06)回复
      • 这位仁兄,你解决了吗?

        mill5个月前 (07-02)回复
  11. #8

    哈哈 改好了 有个BUG 生成海报后 点击X关闭海报时 如果X下面有a标签会直接点击进入页面的

    烈士8个月前 (04-16)回复
    • 你好,请问你有遇到“Error:网络错误,请稍后再试!”错误吗?请问如何处理的?

      匿名5个月前 (07-23)回复
  12. #7

    很棒的效果,类似苏醒主题的海报分享,经测试没有针对手机端优化,图片太大,so sad 😳

    abccc8个月前 (04-06)回复
    • 你好,请问你有遇到“Error:网络错误,请稍后再试!”错误吗?如何处理的?

      匿名5个月前 (07-23)回复
  13. #6

    请问这个支持外链图片吗?

    kkoo9个月前 (03-30)回复
  14. #5

    需要收费下载文件?微信支付不行。。。 😯

    jack9个月前 (03-27)回复
  15. #4

    最近也在捣鼓这个分享海报功能,但是还没弄成功。 😛

    去看你博客9个月前 (03-26)回复
  16. #3

    我的意思是会员怎么改头像,你把后台上传开放了?dux会员中心本身并没有改头像的功能

  17. #2

    博主你好,能不能研究一下dux主题在注册的时候如何直接显示密码,因为发现很多时候用smtp将注册后的密码发给用户的时候,很多邮件都被丢进垃圾箱了,或者直接被拒收了,用户体验很不好,希望能研究一下用户直接能看到密码的,我看正常的主题有很多这方面的帖子,但是自己研究了很久 没办法移植到dux主题上来。
    例如此文的优化注册体验http://www.frontopen.com/1769.html

    9个月前 (03-24)回复
  18. #1

    这个头像你用什么修改的,我发现会员中心里,个人资料修改那没有改头像这一项啊