函数文档

wp_can_install_language_pack()

💡 云策文档标注

概述

wp_can_install_language_pack() 函数用于检查 WordPress 是否能在不请求凭据的情况下访问文件系统,以支持语言包安装。它返回布尔值,成功时返回 true,失败时返回 false。

关键要点

  • 函数首先调用 wp_is_file_mod_allowed('can_install_language_pack') 检查文件修改权限。
  • 通过实例化 Automatic_Upgrader_Skin 和 Language_Pack_Upgrader 来初始化升级器。
  • 使用 fs_connect() 方法测试连接到 WP_CONTENT_DIR 和 WP_LANG_DIR 目录。
  • 如果连接失败或返回 WP_Error,函数返回 false;否则返回 true。

代码示例

function wp_can_install_language_pack() {
    if ( ! wp_is_file_mod_allowed( 'can_install_language_pack' ) ) {
        return false;
    }

    require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
    $skin     = new Automatic_Upgrader_Skin();
    $upgrader = new Language_Pack_Upgrader( $skin );
    $upgrader->init();

    $check = $upgrader->fs_connect( array( WP_CONTENT_DIR, WP_LANG_DIR ) );

    if ( ! $check || is_wp_error( $check ) ) {
        return false;
    }

    return true;
}

📄 原文内容

Check if WordPress has access to the filesystem without asking for credentials.

Return

bool Returns true on success, false on failure.

Source

function wp_can_install_language_pack() {
	if ( ! wp_is_file_mod_allowed( 'can_install_language_pack' ) ) {
		return false;
	}

	require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
	$skin     = new Automatic_Upgrader_Skin();
	$upgrader = new Language_Pack_Upgrader( $skin );
	$upgrader->init();

	$check = $upgrader->fs_connect( array( WP_CONTENT_DIR, WP_LANG_DIR ) );

	if ( ! $check || is_wp_error( $check ) ) {
		return false;
	}

	return true;
}

Changelog

Version Description
4.0.0 Introduced.