aristath / github-theme-updater
为托管在Github上的WordPress主题提供的自定义更新类
v0.2
2023-12-22 11:10 UTC
Requires
- php: >=5.6
This package is auto-updated.
Last update: 2024-09-22 12:40:10 UTC
README
这是一个简单的类,允许您使用GitHub仓库中的版本来处理主题更新。一个更健壮的解决方案是使用github-updater插件,但我坚决拒绝在我的主题中包含一个540kb的库,当用不到200行代码就能完成所需的功能时。
它完美吗?不。它完成了工作吗?是的。
在主题中实现
- 从本存储库下载PHP文件并将其包含在您的主题中,或使用Composer要求它。
composer require aristath/github-theme-updater
- 将文件顶部的命名空间更改为与您在主题中使用的命名空间相匹配(您正在使用命名空间,对吧?)。
- 在functions.php文件中包含更新器类
add_action( 'after_setup_theme', function() { get_template_part( 'inc/classes/Updater' ); });
- 在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.2
、1.2.3
、v1.2
或v1.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准备构建时,它就不会包含在主题导出中。
这就是全部。希望您喜欢使用它,并使您的生活变得更轻松。