使用 Composer 安装高级 Wordpress 主题

     2023-03-14     19

关键词:

【中文标题】使用 Composer 安装高级 Wordpress 主题【英文标题】:Install premium Wordpress theme with Composer 【发布时间】:2016-03-21 14:28:50 【问题描述】:

我在Themeforest:Avada 上购买了“高级”主题。我想用Composer 安装这个主题,因为它是一个依赖项(我使用Bedrock 作为基础)。所以我遇到了this article,他们建议使用下载链接制作一个自定义包(例如一些自己的 Wordpress 插件 WP Migrate DB Pro):

"require": 
    "deliciousbrains/wp-migrate-db-pro": "*"
,
"repositories": [
    
        "type": "package",
        "package": 
            "name": "deliciousbrains/wp-migrate-db-pro",
            "type": "wordpress-plugin",
            "version": "1.5",
            "dist": 
                "type": "zip",
                "url": "https://deliciousbrains.com/dl/wp-migrate-db-pro-latest.zip?licence_key=<LICENSE_KEY>&site_url=composer-test.dev"
            ,
            "require": 
                "composer/installers": "v1.0.7"
            
        
    
]

非常好,但是我必须自己维护版本号(我不能下载旧版本)而且我不太喜欢 url 中的许可证密钥。但是好吧,我已经尝试过了,但我需要在 Themeforest 上登录,否则下载链接(类似于 http://themeforest.net/user/username/download_purchase/some-random-id?accessor=wordpress_theme)将不起作用。我可以尝试跟踪下载链接,但 Envato recommends against download manager,所以我不认为这是允许的或要走的路。我过去曾联系过 Envato,因为他们建议在教程站点 Tutsplus 上使用 Composer,但他们不支持在市场站点上使用 Composer。从未收到回复。

另一种方法是为 Avada 创建我自己的 GIT 存储库。没问题,所以我创建了它,用我自己的composer.json 文件添加了所有文件:


    "name": "username/wordpress-avada-theme",
    "type": "wordpress-theme"

很简单,在版本号后面加了一个git标签就可以安装了。很不错!但是......我必须自己维护它,如果 Avada 发布新版本,我必须从我的 Avada 存储库中删除所有文件,添加带有新版本号标签的新文件,然后我可以安装新版本作曲家。

另一个问题:插件,Avada自带一些插件需要安装:

融合核心 图层滑块 旋转滑块

所以我需要另外 3 个存储库,如果有新版本出现,我必须维护它们。所以我联系了主题的创建者Theme Fusion。我不认为他们不能使用版本控制,这是真的,他们使用 GIT,但由于 Envato 的条件,他们不允许给我访问权限。

我还有什么其他选择?我现在只是将 Composer 用于 Wordpress 本身和所有免费插件,但我也想将它用于我的“高级”内容。 Composer 应该让事情变得更容易,但是当我必须维护这些 repo 时,情况并非如此。所以现在我已经把 Avada 和它的插件放在项目 repo 中,但感觉不太好。

编辑:同时,我在 Envato API 中发现了一些有趣的东西,可以使这成为可能,请参阅我的 issue on the wpackagist repository,它是 Wordpress 插件和主题目录的 Composer 镜像。 p>

【问题讨论】:

老实说,我认为您不会找到解决方案。由于我也经常使用主题森林主题(顺便说一下,确实与 Avada 合作过,这是一个糟糕的主题),我从来没有想出一个正确处理版本控制的解决方案。如果有人对此有解决方案,我会很感兴趣。虽然对于插件,如果我没记错的话,Avada 在主题文件夹中附带了这些插件,所以如果你更新主题,插件也会更新。 我也不认为,但我还没有在 Stack Overflow 上尝试过,所以特此声明。 Avada 附带的插件(以及大多数其他“高级”主题)只是一个目录中的 .zip 存档,需要像所有其他插件一样安装。 【参考方案1】:

SatisPress 是您正在寻找的。这是一个工具,可以让你

将已安装的 WordPress 插件和主题公开为 Composer 包。

设置和使用非常简单:

    设置 WordPress 实例(例如packages.example.com) 安装并激活 SatisPress 安装和激活高级/付费包(插件/主题) 提供许可证凭据以启用自动更新 添加访问令牌 将存储库和凭据添加到您的 composer.json/auth.json(或 Private Packagist 镜像) 需要像这样的高级包:$ composer require satispress/my-private-plugin

更多详情请参阅文档:https://github.com/cedaro/satispress/blob/develop/docs/index.md

注意:我不隶属于 SatisPress 或 Private Packagist。

【讨论】:

【参考方案2】:

我正在测试一个更好的解决方案。 Sign up here.

虽然它目前无法处理嵌套依赖项(您的 Fusion Slider、Fusion Builder 等),但它允许您通过 Composer 管理 Avada(或其他 Envato 购买)并正确使用版本约束:

composer require theme-fusion/avada

或类似的东西。

虽然 Avada 专门搞砸了这一点,因为他们的补丁更新应用在正常 WordPress 更新范围之外。那就更不用说了。

【讨论】:

我可以为您编写一个小型 MU 插件来禁用 Avada 中的内置更新吗?【参考方案3】:

我经常看到人们将购买的内容置于源代码控制之下,以便在引入新版本时对其进行代码审查。但是,我认为私有包的常见做法是使用私有存储库。

当私有包中有composer.json 文件时,有一些选项。不幸的是,对于 WordPress,情况往往并非如此。您可以将packages.json 文件放在网络服务器上,以将该 URL 用作作曲家存储库。

作曲家源代码中的test fixture 可以用作该文件中预期内容的示例。我倾向于省略version_normalized 字段并提供distsource 相对的信息(两者都可以提供)。

我过去所做的是将所有包放在内部服务器上,并使用反映相关元数据的命名约定,以便可以从 bash 脚本轻松生成作曲家存储库。

类似/archives/package-type/vendor/name_version.zip

【讨论】:

【参考方案4】:

现在您可以使用此 Composer 插件安装从 Envato 购买的安装主题和插件 https://packagist.org/packages/szepeviktor/composer-envato

composer require envato/avada

你需要全局安装composer-envato! 配置见README。

【讨论】:

不推荐这样做,因为它总是下载最新版本,没有任何东西可以被锁定。它也不适用于与主题捆绑的插件。在 Envato 让我们下载旧版本之前,SatisPress 是最简单的方法。 你说得对,罗伊。我将在 README 中添加此信息。

yii2高级模板安装

通过Composer安装如果还没有安装Composer,在Linux和MacOSX中可以运行如下命令:curl-sShttps://getcomposer.org/installer|phpmvcomposer.phar/usr/local/bin/composer安装完Composer,运行下面的命令来安装ComposerAsset插件:phpcomposer.pharglobalrequire 查看详情

如何正确使用composer安装laravel扩展包

...因为文档的错误引导,如下图来自 这个文档 的:composerupdate 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害。因为 composerupdate 的逻辑是按照composer.json指定的扩展包版本规则,把所有扩展包更新到... 查看详情

compose环境变量怎么配置

安装-Windows使用安装程序这是将Composer安装在你机器上的最简单的方法。下载并且运行Composer-Setup.exe,它将安装最新版本的Composer,并设置好系统的环境变量,因此你可以在任何目录下直接使用composer命令。选择php.exe如E:\\xampp\\php\... 查看详情

如何使用 Composer 安装 Composer?

】如何使用Composer安装Composer?【英文标题】:HowtoinstallComposerusingComposer?【发布时间】:2015-09-2617:09:25【问题描述】:编辑:解决了,我必须使用“dev-master”而不是“master”或“dev”。也许这对你来说很奇怪......但我正在尝试使... 查看详情

laravel之composer安装

...ravel对php有要求,接下来简单记录自己的安装步骤1、下载composer:"https://getcomposer.org/Composer-Setup.exe"2、改成国内镜像配置:composerconfig-grepo.packagistcomposerhttps://packagist.phpcomposer.com3、安装la 查看详情

composer基本使用

一、Composer的安装1、下载Composer2、Composer安装  1)、Composer安装前请确保已经安装了php;打开命令行窗口输入php-v可以查看php的当前版本号。3、局部安装与全局安装  局部安装:正确安装完后,可以将 composer.phar 文件... 查看详情

composer的使用以及安装

composer是一个php类库管理工具,一听工具,那么肯定需要安装呢,所以下面我们看一下composer如何安装.composer的安装怎么样安装呢?不要着急,安装composer呢我们需要准备一些东西. 首先,composer的使用有一定的要求. 1,php的环境变量... 查看详情

Composer [UnexpectedValueException] 错误将尝试使用 composer 安装 github 项目

】Composer[UnexpectedValueException]错误将尝试使用composer安装github项目【英文标题】:Composer[UnexpectedValueException]errorwilltryingtousecomposertoinstallagithubproject【发布时间】:2014-12-2818:39:41【问题描述】:我正在尝试使用composer安装一个github项... 查看详情

composer安装以及使用composer安装yii框架(代码片段)

composer安装1.先下载一个composer.exe包安装(https://getcomposer.org/download/)2.下载好了以后执行exe文件(http://jingyan.baidu.com/article/4f34706ed04013e386b56d72.html)3.安装好了以后我们可以输入cmd,出现黑窗口以后我们可以输入composer看看是否存在... 查看详情

composer安装和使用

1、linux下安装curl-sShttps://getcomposer.org/installer|phpmvcomposer.phar/usr/local/bin/composer2、windows中,你需要下载并运行 Composer-Setup.exe。 如果国内访问composer的速度比较慢,可以参考这里的说明使用国内镜像https://pkg.phpcompose 查看详情

全局安装 Composer 以供 laravel 使用?

】全局安装Composer以供laravel使用?【英文标题】:InstallingComposergloballyforlaravelusage?【发布时间】:2014-02-1507:01:08【问题描述】:我在全局安装composer时遇到了一些问题。我将composer安装到我的\'C:\\wamp\\bin\\php\\php5.4.12\'-目录(我正... 查看详情

composer安装及使用

安装:a.windows:a-1.下载:gitclonehttps://github.com/lj270304802/composer.gita-2.移动:将win下的文件移动到php所在目录b.linux:b-1.下载:gitclonehttps://github.com/lj270304802/composer.gitmvcomposer/linux/composer/bin/c.修改comp 查看详情

composer安装和修改中国镜像

参考:http://docs.phpcomposer.com/00-intro.html#Using-Composer下载安装下载并且运行Composer-Setup.exe,它将安装最新版本的Composer,并设置好系统的环境变量,因此你可以在任何目录下直接使用composer命令。安装成功后,在windows,命令行输入co... 查看详情

composer的安装使用

前提:配置好PHP的环境 1.用PHP命令下载  安装Composer的php程序 *(下载composer-setup.php)php-r"copy(‘https://install.phpcomposer.com/installer‘,‘composer-setup.php‘);"2.执行编译 .php文件   ( 查看详情

composer依赖管理使用

composer中文站:http://www.phpcomposer.com/如何安装Composer下载Composer:安装前请务必确保已经正确安装了PHP。打开命令行窗口并执行php-v查看是否正确输出版本号。打开命令行并依次执行下列命令安装最新版本的Composer:下载安装脚本co... 查看详情

composer安装和使用

一,Windows下的wamp环境下Composer的安装和使用方法1.    https://getcomposer.org/download/在这个网页下Composer-Setup.exe–下载这个安装执行文件于电脑桌面,点击运行650)this.width=650;"src="https://s4.51cto.com/wyfs02/M01/8D/BD 查看详情

如何使用 Composer 安装 jQuery?

】如何使用Composer安装jQuery?【英文标题】:HowtoinstalljQuerywithComposer?【发布时间】:2012-07-2416:49:19【问题描述】:我已经能够安装没有这样的composer.json文件的存储库:"type":"package","package":"name":"yahoo/yui-compressor","version":"2.0.4","dist... 查看详情

php:如何使用 composer 安装一个包

】php:如何使用composer安装一个包【英文标题】:php:howtoinstallapackageusingcomposer【发布时间】:2018-12-0513:53:25【问题描述】:我对作曲家完全陌生;-)我尝试使用composer在我的本地主机(ubuntu16.04)上安装mPDF7.1。1.)我安装了composer1.6.5。2... 查看详情