aristath/github-theme-updater

为托管在Github上的WordPress主题提供的自定义更新类

v0.2 2023-12-22 11:10 UTC

This package is auto-updated.

Last update: 2024-09-22 12:40:10 UTC


README

这是一个简单的类,允许您使用GitHub仓库中的版本来处理主题更新。一个更健壮的解决方案是使用github-updater插件,但我坚决拒绝在我的主题中包含一个540kb的库,当用不到200行代码就能完成所需的功能时。
它完美吗?不。它完成了工作吗?是的。

在主题中实现

  1. 从本存储库下载PHP文件并将其包含在您的主题中,或使用Composer要求它。
    composer require aristath/github-theme-updater
  2. 将文件顶部的命名空间更改为与您在主题中使用的命名空间相匹配(您正在使用命名空间,对吧?)。
  3. 在functions.php文件中包含更新器类
    add_action( 'after_setup_theme', function() {
    	get_template_part( 'inc/classes/Updater' );
    });
  4. 在Updater.php文件的底部初始化更新器
    new Updater(
    	[
    		'name' => 'Gridd',                     // Theme Name.
    		'repo' => 'wplemon/gridd',             // Theme repository.
    		'slug' => 'gridd',                     // Theme Slug.
    		'url'  => 'https://wplemon.com/gridd', // Theme URL.
    		'ver'  => 1.2                          // Theme Version.
    	]
    );

在Github上发布更新

当您想要发布更新时,可以简单地转到您的存储库 > 发布并创建一个新的发布。

  • 版本应该格式化为1.21.2.3v1.2v1.2.3等。版本比较将删除v,脚本将能够比较版本。但是,如果您将发布标签称为tomato,不要期望它能够正常工作。
  • 您必须上传一个zip文件。

    当创建您的发布时,上传一个.zip文件。GitHub创建的默认包将版本号包含在文件夹名中,这在用户更新时可能会破坏某些东西。此更新器脚本只会检测您手动上传的资产文件

建议

  • 自行承担风险。如果您不遵循上面的说明,可能会出现问题。
  • 此脚本尽可能简单。如果您发现错误,请随时提交pull-requests。

为什么创建这个项目?

此项目是为了在wordpress.org上提交的主题的必要性而创建的。wordpress.org的主题审查过程非常耗时...

  • 初步审查通常需要几个月。
  • 如果一切顺利,主题将进入最终审查,根据本写作时间,这需要2-4个月。
  • 如果您的主题被标记为“无障碍准备就绪”,则主题必须等待第三次审查,而我目前不知道这将需要多长时间。

总的来说,主题审查可能需要超过6个月。

在此期间,生活仍在继续。如果您的业务依赖于您的主题,那么您可能希望实施一种替代方法来提供主题更新,以便人们可以开始使用它,您可以开始发展。

在w.org上发布主题

记住在w.org上传更新时删除脚本。当您的主题上线时,您也可以从存储库中删除它,这只是一个过渡。

在您的主题上线之前,如果您像上面示例中那样使用get_template_part进行类包含,则可以忽略类包含。如果文件不存在,不会发生任何坏事。

我个人更喜欢使用.gitattributes文件来排除开发文件,如.sass.map.editorconfig等。如果您在项目中使用此类文件,您只需在其中添加Updater.php export-ignore即可,这样在您为w.org准备构建时,它就不会包含在主题导出中。

这就是全部。希望您喜欢使用它,并使您的生活变得更轻松。