风险操作警告
请做好你的 WordPress 网站或者服务器数据的备份!本文章将会修改 WordPress 的代码文件。如果你的操作失误或者文章有我未发现的严重错误,备份将会救你一命!
备注
本文的步骤是我自己摸索出来的,有错误还请指正。未测试过是否在 WordPress 或者主题更新后是否需要重新安装(应该是需要的)。
这里以用 Composer 为 Sakurairo 添加中文转拼音库 overtrue/pinyin 为例。该库要求 php 版本 >= 8.0.2。

为 WordPress 切换 php 版本
(WordPress 以下简称 WP)
已知 overtrue/pinyin 要求 php 版本 >= 8.0.2,而目前我的 WordPress 运行在 7.4 上,要升级 php 版本。


接下来有个大坑,光是修改运行环境还不够,主题目录下的 composer.json
文件还写了安装时的 php 版本号(也就是老的 7.4),而这个优先级比当前实际的 php 版本号还高。所以还要修改:

然后进入目录 /www/wwwroot/wordpress/wp-content/themes/<你现在启用的主题名字>
,双击修改 composer.json
里面的 php 版本号为你当前 WP 使用的 php 版本号,保存并关闭。

宝塔面板安装 Composer
重要
以下出现的数字 “81” 要替换为你的 php 版本号。
原文链接:http://www.cdcxhl.com/news/201021.html
多版本php安装 https://blog.csdn.net/weixin_35930794/article/details/115245524
首先要启用被禁用的函数:

依葫芦画瓢启用 pcntl_signal
、 proc_open
,也就是说一共要启用三个函数。
然后查看并复制 WordPress 使用的 php 所在的位置:

/www/server/php/81
下然后在 ssh 中, cd 跳转到这个php的bin目录下,安装composer:
cd /www/server/php/81/bin/
sudo curl -sS https://getcomposer.org/installer | sudo ./php

下载成功后,配置启动文件:(后面的 81 修改成你的php版本号,或者加上你的自定义后缀)
sudo vim /usr/local/bin/composer81
粘贴并保存以下代码(81 按照自己php实际路径修改)(原链接的命令有问题)
#!/bin/bash
/www/server/php/81/bin/php /www/server/php/81/bin/composer.phar $*
然后为刚才保存的文件添加执行权限:(注意修改文件名)
sudo chmod +x /usr/local/bin/composer81
查看是否运行成功:
composer81 -V

设置全局镜像源(阿里源):
composer81 config -g repo.packagist composer https://mirrors.aliyun.com/composer/
设置镜像源时提示 SSL Problem 的解决方法
(没有图,在另一台发生的时候没截图,这台服务器没发生,但是还是走一遍流程)
原文:https://blog.csdn.net/l_xing6/article/details/124480381,稍微修改了一下
首先查看证书路径:
/www/server/php/81/bin/php -r "print_r(openssl_get_cert_locations());"

然后去 https://curl.se/docs/caextract.html 下载证书

然后在宝塔上传到之前找到的位置,并且按照路径把文件改名为 cert.pem

(如果你不知道 php.ini 在哪里的话)使用下面的命令搜索 php.ini:
sudo find / -iname php.ini -type f

然后到宝塔里找到这个文件,双击打开编辑,Ctrl + F 搜索 openssl.cafile
,改成证书位置:


就可以重新添加阿里镜像源了。
使用 Composer 安装依赖到当前主题下
在 ssh 中 cd 到当前主题的根目录下,然后安装:
cd /www/wwwroot/wordpress/wp-content/themes/Sakurairo-main
sudo composer81 require overtrue/pinyin:^5.0

这个时候就算安装成功了。但是还没完,这个时候你在当前主题的 functions.php 里面写代码是引用不了安装完的第三方包的。
使当前主题的 functions.php 可调用依赖
原文:https://dev.to/phpprefixer/new-tutorial-using-php-composer-in-the-wordpress-ecosystem-4bmp
备注
修改只对这个被改的主题生效,并且更新主题可能会丢失更改。也许可以用子主题?
将下面这行代码添加到 functions.php 文件的最后一行:
require_once __DIR__.'/vendor/autoload.php';

注意
不要把这行代码放在 Code Snippets 插件里作为代码块使用,只有在 functions.php 里面才行。(如果你有解决方法请告诉我)
现在,可以在 functions.php 或者在 Code Snippets 里面调用这个拼音依赖了。
Comments NOTHING