HEX
Server: nginx
System: Linux f62c58717270 6.1.0-17-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.69-1 (2023-12-30) x86_64
User: www-data (1000)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: /www/wp-cli/check.sh
#!/bin/sh

ROOT_DIR="/www/sites/"
LOG_FILE="/www/wp-cli/npcard_check_log.txt"

# 确保日志文件存在
touch "$LOG_FILE"

# 遍历所有 WordPress 站点
find "$ROOT_DIR" -type f -name "wp-config.php" -print0 | while IFS= read -r -d '' CONFIG_PATH; do
    SITE_DIR=$(dirname "$CONFIG_PATH")
    echo "Site: $SITE_DIR" >> "$LOG_FILE"

    # ----------------------------
    # 查询 npcard 插件是否激活
    NPCARD_ACTIVE=$(wp --path="$SITE_DIR" plugin is-active npcard --allow-root 2>&1)
    if [ $? -eq 0 ]; then
        echo "Plugin 'npcard' is active" >> "$LOG_FILE"
    else
        echo "Plugin 'npcard' is NOT active" >> "$LOG_FILE"
        echo "Error details: $NPCARD_ACTIVE" >> "$LOG_FILE"
    fi

    # ----------------------------
    # 查询 woocommerce_npcard_settings 配置
    SETTINGS=$(wp --path="$SITE_DIR" option get woocommerce_npcard_settings --format=json --allow-root 2>&1)
    if [ $? -eq 0 ]; then
        echo "$SETTINGS" >> "$LOG_FILE"
    else
        echo "Failed to get 'woocommerce_npcard_settings'" >> "$LOG_FILE"
        echo "Error details: $SETTINGS" >> "$LOG_FILE"
    fi

    echo "----------------------------" >> "$LOG_FILE"

done

echo "All sites checked. Log saved to $LOG_FILE" >> "$LOG_FILE"