Blog

  • 什么是WordPress插件?

    什么是WordPress插件?

    WordPress 插件是一包代码,可以安装在 WordPress 网站上,用于添加新功能。

    主题用于控制 WordPress 网站的外观和风格,而插件则用于添加或扩展其功能。

    为什么要使用WordPress插件?

    作为 WordPress 开发者,您经常需要为 WordPress 网站创建自定义功能。

    虽然您可以将此功能添加到主题或子主题的 functions.php 文件中,但通常更明智的做法是将这些代码添加到 WordPress 插件中。

    这是因为插件的启用或停用不会影响主题。

    不仅如此,同一个插件还可以在多个网站上使用。

    作为WordPress使用者,也经常因为WordPress无法实现某个功能而苦恼,而插件却可以轻易的实现这个功能。

  • Unexpected response from the server的解决办法

    Unexpected response from the server的解决办法

    WordPress网站上传较大的文件,可能出现无法上传成功并出现错误提示的文字:

    Unexpected response from the server. The file may have been uploaded successfully. Check in the Media Library or reload the page.

    中文意思是:

    服务器返回意外响应。文件可能已成功上传。请在媒体库中查看或重新加载页面。

    较大的文件定义是:图片,pdf,文档,视频等文件大于50M。

    出现这种错误的情况只有一个原因:

    服务器允许上传最大文件设置不对。需要设置更大的数值。

    设置有两个方面都要设置,一个是PHP的,一个是Nginx的。这两个都要设置。

    1,如果只是出现Unexpected response from the server这个问题,确定就是nginx的设置问题。

    解决办法:

    1,找到nginx配置文件:

    a,宝塔面板:

    软件商店–已安装–nginx–设置–配置文件,找到:client_max_body_size 50m。

    把50m修改成需要的数值,这个也不是越大越好,也要考虑到主机的配置和你使用的网络状况,超过10分钟,应该就会卡死。

    b,自己配置的环境或者vpser这种非面板环境,找到nginx.conf文件,修改保存,重启nginx。

    这一步完成以后,就可以重新刷新页面,重新设置上传了。如果可以上传了,问题就解决。如果问题还没解决,在上传页面可以看到:Maximum upload file size: 50 MB。这一步就是PHP的设置。

    2,设置PHP相关:

    a,如果是宝塔面板:

    软件商店–已安装–php–设置–配置修改,找到并修改以下参数:

    • max_execution_time:执行时间,默认300秒可以。
    • post_max_size:500M。
    • upload_max_filesize:500M。
    • default_socket_timeout:600秒。

    这里可以多次设置,然后测试以后微调,主要上传的同时不要影响主机的稳定运行。

    保存并重启PHP,再测试。

    b,如果是vpser或者自行安装的环境,找到当前php版本下的php.ini,修改上面的相关参数即可。

    保存,重启PHP。

    刷新页面再次测试,看问题是否解决。

    结语:这类问题不难,主要是要搞清楚是哪些因素会导致问题,另外基于这种问题不要安装插件,不值得。

  • WordPress网站配置SMTP邮件功能完全教程

    WordPress网站配置SMTP邮件功能完全教程

    这篇文章,沃普思将从几个角度来讲WordPress网站如何配置SMTP邮件功能。

    一,使用默认邮件功能

    这个功能是使用主机或者云主机默认的PHP邮件功能,使用的是PHP mail(),使用的邮件服务器软件一般是两种,sendmail和postfix。

    具体使用哪个,你可以咨询主机提供商,云主机是可以自定义的。

    早期使用的都是sendmail,现在通常都使用postfix,相比sendmail,postfix软件优势明显。postfix邮件服务器软件就是为了替代sendmail而开发的,配置简单,模块化设计,功能更强大,有更多的可扩展性。

    postfix支持使用25端口,也只是465端口,需要自己配置,比较复杂,这部分略过。

    那WP Mail SMTP邮件插件来说,如果使用Default (none)默认功能无法发送邮件,就说明邮件服务器的配置不正确。

    如果是虚拟主机,就不用不管了,因为主机商不会为了你的需求更改整台服务器的配置。

    如果是云主机,使用宝塔面板,可以自己尝试折腾一下,可以自行去搜索教程。

    二,第三方邮件服务商

    第三方服务商分两种:免费版,收费版。

    1,国外WP Mail SMTP插件兼容的免费版邮件提供商:

    2,每款SMTP插件都有专业版才能用的邮件服务商

    这是策略问题,如果是个人网站,免费版的额度已经足够了,特别是Mailersend,每月的额度有12000封。

    WP Mail SMTP插件只有专业版才能用邮件服务商是:Amazon SES,365 / Outlook,Zoho Mail,这三个也就被排除了。另外,没有列出Gmail的,因为Gmail的设置太复杂了,也建议不要使用。

    3,最佳WordPress邮件功能插件:WP Mail SMTP插件。

    虽然WordPress官方收录和超过50款WordPress邮件功能插件,但最好就是WP Mail SMTP插件,功能做的足够好,用户体验也足够好,每个邮件服务商的教程文档都非常详细,而且是视频+详细的图文教程。

    三,邮件服务商自己发布的SMTP插件

    这也是一种趋势,因为自家的东西,完全没有兼容性的问题,上手更容易,也就更容易获得客户。在AI时代,生产力逐渐过剩,邮件服务商自行发布SMTP插件或许也是无奈之举,至于如何选择,各位可以多多测试,如果竞争过于激烈,也许会推出邮件服务商使用自家的SMTP插件有更大的免费额度等优惠。

    一下服务商有自己的SMTP插件:

    1,SMTP2GO;

    2,Brevo;

    3,Mailgun ;

    4,MailerSend – Official SMTP Integration ;

    5,Zoho Flow ;

    6,Icegram Mailer ;

    四,给WordPress网站SMTP插件搭配独立的邮件日志插件

    WP Mail SMTP插件的日志功能是收费版本才有,是在想用这个插件,可以搭配一个第三方的独立邮件日志插件。

    1,WP Mail Logging;

    2,Check & Log Email ;

    3,WP Email Log – PostBox ;

    4,Email Tracker ;

    五,总结

    这篇文章主要是打通WordPress网站发送邮件的全流程问题。

    1,自行配置云主机的邮件软件(较复杂,新手勿用);

    2,使用第三方成熟的SMTP插件配置邮件功能(简单,推荐新手使用);

    3,工具配置好以后,还要一个发送邮件的服务商,不然邮件从哪里发送?

    邮件服务商可以选择国内的,也可以选择国外的,国内的个人邮箱,企业邮箱都可以。国外的有独立的第三方邮件服务商也可以,大多数都有免费额度,如果是个人网站可以选择使用。

    4,国外有一部分SMTP邮件服务商为了能更好的吸引用户,开发了自己的SMTP插件。

    5,功能增强:把所有的发布记录都通过日志功能都记录下来,大部分SMTP插件都有这个功能,只是收费或者免费。

    到此为止,这就是这篇文章的主要内容。

    六,延伸阅读

    发送邮件就会有邮件的格式,如果能根据不同的场景,自定义邮件的格式,也就是邮件的模板,那么网站显得更加专业。这部分会在新的一篇文章中独立发布。

  • WordPress网站图片格式最佳选择

    WordPress网站图片格式最佳选择

    WordPress网站会包含图片和文字,图片可以增加文章的可阅读性,而且很多网站基于自身的功能,是离不开图片的。

    目前主要使用的图片格式有:png,jpg,jpeg,gif,webp,avif,tiff等。

    关于我们,我们先说几个常识:

    • 一张图片可以有多种格式;
    • 每种格式可以相互转换,转换工具可以是作图软件,现在也有很多在线的工具;
    • 一张图片的格式不同,体积大小也不一样;

    在选择最佳图片格式的时候,我们需要考虑以下几种情况:

    • 选择最佳的图片格式,不能牺牲图片的清晰度;
    • 一张图片,格式不同,清晰度不同,以清晰度为准则;
    • 一张最佳的图片:清晰度足够,体积足够小。
    • 目前最佳选择是:webp和avif,这也是Google官方的建议。

    一篇文章,包含四张png,每张png的格式是300k,这样一个页面1.2M。

    还是这篇文章,如果把图片转换成webp格式的,每张的图片大概只有30K,这样一个页面就只有120K。

    这两个页面在服务器配置完全一致的情况下,第二种情况的打开方式会非常快。

    这里有两个重要的问题:

    1,提升的网站打开速度,优化了用户访问体验;

    2,减轻了服务器的存储压力,如果有5000篇文章,每篇文章20张图片,这种差距会非常大,所以选择合适的图片,非常重要。

    网站类型不同,对图片质量的要求也不相同,不同的应用场景,对图片的使用也有不同。

    比如有一个客户,他经常出差,但不喜欢带笔记本,每次写稿子直接用iPhone发布到WordPress网站了,因为iPhone拍摄出来的图片格式HEIC格式。所以之前非常苦恼,怎么能把HEIC格式的图片上传到WordPress媒体库。

    什么是WEBP格式的图片?

    由 Google 开发的 WebP 格式提供了出色的图像优化,支持有损和无损压缩。它以更小的文件大小提供高质量的图像,支持有损和无损压缩、透明度,甚至动画。Google PageSpeed Insights 推荐使用该格式以通过审核,并有助于提升核心网络指标。与一些非常老旧的浏览器的兼容性仍然是一个轻微的局限性。

    沃普斯继续分享解决实际应用的文章。

    如果您是一个新搭建的网站,请务必注意,所有的图片都一定要使用webp格式;

    日常可以使用软件在电脑里做图片格式转换,我们日常使用的软件是PP鸭,一次购买终身授权。

    想免费的,也可以试试这个地址:Free Online Image Compression

    也可以搜索其他在线的工具。

    如果您的WordPress网站已经在运行了,也已经有大量的图片是png或者jpg格式。

    最佳的方案是:您可以购买一个图片转换流量包,比如这个:Plans & Pricing | ShortPixel

    这种转环包有几个好处:

    • 永不会过期;
    • 支持webp和avif格式;
    • 上传一张,转换一张,不用就一直放着就行;
    • 遇到问题可以获取官方的支持。

    沃普斯并没有和ShortPixel合作,只是在实际应用中,需要解决一个客户的十万张png的图片。发现了这是最好的解决方案。

    图片有100G,压缩以后直接只有35G了。每篇文章的图片数量超过20个,页面的体积大小也有14.5M降低到5.2M。

  • 阿里云企业邮箱配置WP Mail SMTP插件

    阿里云企业邮箱配置WP Mail SMTP插件

    今天帮一个做客户配置WP Mail SMTP插件,需求是使用阿里云的企业邮箱。

    在配置中遇到的最大问题是:认证信息不匹配。

    账户是固定的,肯定没问题,但密码是对的,但总是匹配不上。提示错误如下图:

    阿里的SMTP认证密码也要单独生成,不能用邮箱的登录密码。这个也确认没有错。反复确认以后是WP Mail SMTP的插件设置有问题。

    多次尝试以后,最终确认问题是:Auto TLS,这个需要关闭。

    其他都按照常规设置即可。

    阿里云官方的文档写的很详细,在邮件客户端按照阿里的帮助文档设置即可:查看文档。

    需要额外说明几点:

    1,拿wopus.org来说,比如想要在WP Mail SMTP插件中使用的企业邮箱是:contact@wopus.org,需要在https://qiye.aliyun.com登录contact@wopus.org这个邮箱。

    2,成功登录以后,在右上角的设置–更多设置–账户与安全–账户安全,下拉:

    三方客户端登录安全管理。这里生成的密码是专门给第三方使用的,比如web这种,这种密码只能在第三方使用。生成的这个密码和contact@wopus.org邮箱的登录密码是完全不同的。

    3,复制并保存密码,然后在WP Main SMTP插件设置里输入账户和这个第三方密码:

    4,保存并测试即可。

    5,如果依然出现错误,就要看看这个阿里云企业邮箱的管理员账户设置:

    阿里云企业邮箱管理员账户是固定的:postmaster@wopus.org,登录以后检查下午的设置都是都设置成允许。

    6,如果上面都设置好了,还不生效,您可以联系我,我这边可以提供收费服务帮您解决这个问题。联系微信:qiuzhang 。

  • WordPress是什么?

    WordPress是什么?

    这篇文章,您可以学习到以下几个问题:

    一,WordPress程序是什么?

    WordPress 是一款非常流行且强大的内容管理系统(CMS)​,它让你即使没有编程基础,也能构建和管理各种类型的网站。

    这里引申多说几句:

    编程是有边界的,从互联网时代到移动互联网时代,编程的边界感越来越清晰。

    建站语言有很多种,asp,php,python,go,html,java,有些在消费市场,有些在互联网市场,早期的lbs,zblog都是优秀的博客程序,但进入PHP时代以后,建站程序有了长足的发展,drupal,wordpress,joolma等,其中WordPress以其丰富的功能扩展性,易用性,开发友好,生态完善脱颖而出。

    目前全球所有的网站中,有超过43%的网站使用WordPress搭建,这足以说明所有问题。

    对于普通的的爱好者来说,易用性是最重要的,WordPress程序从2003年建立开始,就一直在向着这个目标努力。

    就WordPress程序,对普通人来说,哪怕你是零编程基础,经过一段时间的系统学习,也可以使用WordPress程序搭建出属于自己的网站,不仅仅是博客。

    二,WordPress有哪些只要特点?

    1,内容管理

    提供直观后台,方便地创建、编辑和发布文章、页面及多媒体内容,并支持分类和标签管理

    2,模板与设计

    海量免费和付费主题可选,轻松改变网站外观;多数主题支持响应式,能在不同设备上良好显示,现在基于古腾堡编辑,可以从零开始,制作一款属于自己的WordPress主题。

    3,丰富的插件扩展

    通过安装插件(如 WooCommerce 做电商、Yoast SEO 做优化)可新增各种功能,满足不同需求

    4,多用户管理

    支持多用户角色(管理员、编辑、作者等)和权限分配,适合团队协作。

    三,WordPress运行环境?

    早些年,在windows server上也可以运行,主要是伪静态的问题,但其实这个也不是主要问题。

    现在建议在Linux+Mysql(mariadb)+nginx(apache)+php。

    如果你不懂linux,也不会配置,可以直接选择购买虚拟主机,推荐cPanel面板和Directadmin面板的虚拟主机,这俩都是把大部分命令行可视化,很方便。

    如果是独立主机,直接使用宝塔(https://bt.cn)安装就行,后续所有的操作都在宝塔面板中进行。

    四,如何零花费体验WordPress ?

    想搭建自己的网站,哪怕是简单的博客,也需要一些花费,最少都要支出域名和主机。这个每年最少也几百块。这个对于只是想体验WordPress的初学者来说,明显成本过高,所以,如果在开始能零花费体验WordPress就再好不过了,沃普斯分享几个零花费体验WordPress的方法:

    1,在自己的电脑里搭建PHP环境,这种直接访问地址是:http://localhost:端口。

    2,在线免费的WordPress应用,这种没有固定的域名,都是随机生成。

    以上这两种都是长期免费,可以用来测试WordPress,学习上手WordPress。

  • xz 和 liblzma 5.6.0~5.6.1 版本上游被植入后门,影响所有 x64 架构 Linux 和 macOS

    xz 和 liblzma 5.6.0~5.6.1 版本上游被植入后门,影响所有 x64 架构 Linux 和 macOS

    影响范围

    xz 和 liblzma 5.6.0~5.6.1 版本,可能包括的发行版 / 包管理系统有:

    • Fedora 41 / Fedora Rawhide
    • Debian Sid
    • Alpine Edge
    • x64 架构的 homebrew
    • 滚动更新的发行版,包括 Arch Linux / OpenSUSE Tumbleweed

    如果您的系统使用 systemd 启动 OpenSSH 服务器,您的 SSH 认证过程可能被攻击。

    非 x64 (amd64) 架构的系统不受影响。

    您可以在命令行输入

    xz --version
    

    来检查 xz 版本,如果输出为 5.6.0 或 5.6.1 ,说明您的系统已被植入后门

    缓解措施

    降级到 5.4.6 版本,或者更新到 5.6.4 版本。

    技术细节

    攻击者污染了上游 Git 仓库的 build-to-host.m4 构建脚本和测试用例,在编译期间向 liblzma 注入攻击代码。

    部分发行版的 OpenSSH Server 链接到 libsystemd ,而 libsystemd 依赖 liblzma 。因此您的 sshd 会执行被植入后门的代码。

    该后门首先在 sshd 启动时替换 crc32_resolve() 和 crc64_resolve,然后试图从内存中解析符号表,并查找 RSA_public_decrypt@....plt 符号,并将其指向的地址替换为后门代码。

    在 SSH 登录认证时,sshd 会调用该符号,并在服务器上执行攻击代码。但是其具体行为尚未被观测。

    相关链接

  • 纯CSS+HTML实现圆圈+箭头动画

    今天分享一个纯 HTML + CSS 实现的圆圈+箭头动画。100vh 高度,通过 jQuery 控制每次滚动一屏的网站风靡一时,在第一屏的页面底部中间,可以考虑加上这个动画,提示可以往下滚动。

    如果引入了 Fontawesome 之类的字体,那么箭头伪类可以替换成更好看的样式。

    以下是 HTML 代码

    /* html sample */
    <html>
      <head>
      </head>
      <body>
        <div class="container">
          <div class="arrow"></div>
        </div>
      </body>
    </html>

    以下是 CSS 代码

    /* 用于滚屏,居中下部 */
    body {
      margin:0;
      padding:0;
    }
    .container {
      height:100vh;
      background:#333
    }
    .arrow {
      opacity: 1;
      animation: arrow 3s cubic-bezier(0.5, 0, 0.1, 1) infinite;
      -webkit-animation: arrow 3s cubic-bezier(0.5, 0, 0.1, 1) infinite;
      transform: rotate(-90deg);
      -webkit-transform: rotate(-90deg);
      position: absolute;
      bottom: 10px;
      left: 50%;
      margin-left: -30px;
      width: 60px;
      height: 60px;
      border-radius: 100%;
      -webkit-border-radius: 100%;
      line-height: 60px;
      text-align: center;
      font-size: 20px;
      color: #fff;
      border: 1px solid #fff;
      cursor: pointer;
      overflow: hidden;
    }
    
    .arrow:hover {
      animation-play-state: paused;
      -webkit-animation-play-state: paused;
    }
    
    .arrow::after {
        content: '';
        display: inline-block;
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 5px solid white; /* 箭头的颜色 */
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%) rotate(0);
    }
    
    @keyframes arrow {
      0%, 100% {
        transform: translateY(0); /* 动画开始和结束时元素在原始位置 */
      }
      50% {
        transform: translateY(-20px); /* 动画中间,元素向上移动10像素 */
      }
    }

    实际效果预览:

    想自己上手改改的,Codepen 代码点这里

  • WordPress自动更新完全教程

    从WordPress .3.7版本开始,WordPress程序开始提供自动升级功能,自动升级功能主要是为了给站点提供更好的安全保护,主要包含以下四个方面的自动更新:

    • WordPress程序自动更新;
    • WordPress插件自动更新(必须是收录在WordPress程序官方目录的插件);
    • WordPress主题自动更新(必须是收录在WordPress程序官方目录的主题);
    • 翻译文件的自动更新;

    核心更新:

    核心更新分为三种类型:

    在WordPress 5.6之前,默认情况下,每个站点都只对较小的核心版本和翻译文件启用自动更新。从WordPress 5.6及以上版本开始,每个新站点都自动启用了主、小版本的更新,这其实也从侧边说明了,WordPress程序从5.6版本开始已经非常稳定了。

  • 新版来了,WordPress 6.0 Beta 1发布

    新版来了,WordPress 6.0 Beta 1发布

    Beta版本,通常表明这个这个版本的程序依然在开发中,请坚决不要在正式站点使用。

    WordPress 6.0是大版本更新,主要有以下亮点:

    • 主题样式切换功能;
    • 模板更多设置功能;
    • 多个模块同时编辑功能;
    • 多个样式保留功能,在创建新样式时,之前创建的样式会缓存在某处;
    • 更便利的图片编辑功能;
    • 改进视图列表功能;
    • 改进设计工具;
    • 新的模块功能;
    • block UI锁定功能;
    • Webfonts API,这个是很必要的好功能。

    现在WordPress正在通过古腾堡编辑器,弱化主题功能,通过不断增加的古腾堡编辑器,即使没有代码基础,也可以自己尝试做一款不错的WordPress模板,而bakery,elementor,generatepress也都是这样的功能。

    WordPress 6.0 beta1下载:https://wordpress.org/wordpress-6.0-beta1.zip