WordPress一键生成海报功能(图片分享带二维码)

本文介绍在WordPress主题中集成海报分享功能的步骤:解压文件并复制到主题目录;在functions.php中引入海报模块;修改single-product.php将原视频按钮替换为海报触发按钮;在footer.php添加海报弹窗结构;在xs.js中加入AJAX请求代码实现海报动态加载。同时说明字体替换、图片格式要求和二维码生成方式等注意事项。

WordPress建站
阅读时间: 29 分钟
最后更新时间:2025年11月13日

前期准备:解压以下zip文件,将获得的全部文件复制到主题文件夹中

第一步:修改主题文件 functions.php 在其最后加入以下代码

require_once get_template_directory() . '/poster/index.php';

第二步:修改主题文件 single-product.php

找到以下代码(42行附近)

<a class="xs-btn c-btn" data-fancybox="video-gallery" data-width="800" data-height="480" href="<?php the_field('product-jiaocheng')?>"><i class="iconfont icon-shipin mr-10"></i>分享海报</a>

替换成

<a class="xs-btn c-btn poster-trigger" data-width="800" data-height="480" href="javascript:; " data-toggle="modal" data-target="#dz-poster-modal" data-id="<?php global $post; echo $post->ID;?>"><i class="iconfont icon-shipin mr-10"></i>分享海报</a>

第三步:修改主题文件 footer.php

找到以下代码(34行附近)

<div class="apply clearfix bg-white position-fixed rounded-lg overflow-hidden d-block d-xl-none">

在其上面加入以下代码

<div class="modal fade" id="dz-poster-modal" data-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
    <div class="modal-dialog modal-dialog-centered modal-dialog-scrollable">
        <div class="modal-content">
            <button style="position:absolute;right:0;top:0;padding: 15px;line-height: 16px;z-index:1" type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
            <div class="modal-body p-0" style="min-height:106px">
                <div class="d-flex justify-content-center p-5">
                    <span class="spinner-border" style="color:rgba(0,0,0,0.2)" role="status" aria-hidden="true"></span>
                </div>
                <div class="dz-pst-img"></div>
            </div>
        </div>
    </div>
</div>

第四步:修改主题文件 js/xs.js

在其最后加入以下代码

(function($) {
  var inited = 0
  $('.poster-trigger').on('click', function() {
    var $_this = $(this)
    if($_this.hasClass('disabled')) {
      return
    }
    $_this.addClass('disabled')
    if(inited) {
      poster_toggle_poster_md(1)
      $_this.removeClass('disabled')
      return
    }

    var id = $_this.attr('data-id')
    if(!id) {
      $_this.removeClass('disabled')
      return
    }

    $.ajax({
      url: tbdz.ajax_url,
      type: 'GET',
      dataType: 'json',
      data: {
        action: 'get_poster',
        id: id
      },
      success: function(data) {
        $('#dz-poster-modal .justify-content-center').remove()
        $_this.removeClass('disabled')
        if(!data.result) {
          $('#dz-poster-modal .dz-pst-img').append('<p class="dz-tip">海报生成失败,请重试</p>')
        } else if(data.poster) {
          inited = 1
          $('#dz-poster-modal .dz-pst-img').append('<img class="img-fluid" src="'+data.poster+'">')
        }
      }
    })
  })
})(jQuery);

其他说明

1、当前海报使用字体为:方正黑体简体(免费可商用),若需更换字体,请替换 ttf.ttf 文件
2、当前海报中logo、特色图片仅支持jpg、jpeg、png格式,若海报中图片生成不出来,请检查格式是否正确
3、二维码根据 产品教程 中设置的链接生成

这篇文章有用吗?

点击星号为它评分!

平均评分 0 / 5. 投票数: 0

到目前为止还没有投票!成为第一位评论此文章。

在AI里面继续讨论:

曾凤祥

曾凤祥

WordPress技术负责人
小兽WordPress凭借15年的WordPress企业网站开发经验,坚持以“为企业而生的WordPress服务”为宗旨,累计为10万多家客户提供高品质WordPress建站服务,得到了客户的一致好评。我们一直用心对待每一个客户,我们坚信:“善待客户,将会成为终身客户”。小兽WordPress能坚持多年,是因为我们一直诚信。

相关文章

如何让线上业务更上一层楼

还没有WordPress网站

还没有WordPress网站

不管你从事什么行业,WordPress都会为你提供一个专业的主题模板。在WordPress市场上有成千上万的免费主题,适合很多中小企业。

查看所有模板
已经有WordPress网站

已经有WordPress网站

小兽WordPress诚邀你一起学习WordPress,愿与各方携手升级改善您的WordPress网站,一起交流网站加速,网站优化等问题。

马上交个朋友
微信联系
chat 扫码联系
模板建站
挑选模板
网站定制
免费诊断
咨询热线
咨询热线

189-0733-7671

返回顶部