wp-cli 下载没有默认 wordpress 主题的 wordpress 核心文件二十 *

wp-cli download wordpress core files without default wordpress themes twenty*

使用 wp-cli on Windows 一切正常。

当我在项目根文件夹中时,我喜欢下载 WordPress 核心文件,跳过所有 WordPress 默认主题 20*。

为此我使用命令 wp core download --skip-themes --debug 但是它总是下载所有默认主题。

如何让 wp-cli 只真正给我核心文件 而没有 包含的默认 WordPress 主题?

是否有用于删除文件夹的 wp-cli 命令?

如果这不能用 wp-cli 完成,我可以使用哪些其他方法始终自动从 WordPress 核心下载中删除默认主题,而无需实际进入项目文件夹?

不,你不能。默认主题是 Wordpress 发行版的一部分。

--skip-themes 标志不是为了这个,而是为了在 wp-cli 执行期间禁用加载 installed 主题(如果有一些主题触发逻辑你可能想避免执行)。

没有 wp-cli 命令来删除文件,这没有多大意义。您始终可以使用适合您平台的命令删除它们。

为什么不加一个rm -rf wp-content/themes/*?应该这样做:

wp core download && rm -rf wp-content/themes/*

最终,如果你必须经常这样做,你可以创建自己的脚本,比方说wp-clean.sh:

#!/bin/bash
wp core download && rm -rf wp-content/themes/*

然后 chmod +x wp-clean.sh 大功告成。

编辑,因为我错过了 Windows 部分(老实说,我什至不知道 wp cli 可以在 Win 上运行 :D)。

wp core download && rmdir wp-content/themes/* /s

如果你想自动化,只需创建一个 .bat 文件而不是 .sh 只有上面一行。

在项目文件夹中使用以下代码创建一个批处理 (.bat) 文件 运行。

这会将最新的 WordPress 核心文件下载到该项目文件夹。

然后它将转到 project folder/wp-content/themes 并从 themes 文件夹中删除 所有文件和文件夹

如果那个themes文件夹不存在批处理文件将退出而不删除 用户确认后 themes 文件夹中的任何文件。

call wp core download
set mypath=%~dp0wp-content\themes%
echo %mypath%
if exist "%mypath%" (
    cd %mypath%
    for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)
)
pause

这会起作用,但是 在 WordPress 核心下载完成后进入 %mypath% 时,命令提示符输出将显示 The directory name is invalid.。我不知道为什么会这样,如果没有人对此发表评论,我可能会在另一个问题中提出这个问题。

参考:
How to get the path of the batch script in Windows?

Windows shell command to get the full path to current directory?

Batch file. Delete all files and folders in a directory

https://indigotree.co.uk/automated-wordpress-installation-cmd/