函数文档

_mce_set_direction()

💡 云策文档标注

概述

_mce_set_direction() 函数用于为 TinyMCE 编辑器设置本地化方向,主要针对 RTL(从右到左)语言环境。它会根据 WordPress 的 is_rtl() 函数检测结果,自动配置方向性插件和工具栏按钮。

关键要点

  • 函数仅在当前语言环境为 RTL 时生效,设置 directionality 为 'rtl' 并启用 rtl_ui。
  • 自动添加 'directionality' 插件到 $mce_init['plugins'],如果尚未包含。
  • 在 $mce_init['toolbar1'] 中添加 'ltr' 按钮,以支持切换方向。
  • 接受并返回 $mce_init 数组,用于 TinyMCE 设置。

代码示例

function _mce_set_direction( $mce_init ) {
	if ( is_rtl() ) {
		$mce_init['directionality'] = 'rtl';
		$mce_init['rtl_ui']         = true;

		if ( ! empty( $mce_init['plugins'] ) && ! str_contains( $mce_init['plugins'], 'directionality' ) ) {
			$mce_init['plugins'] .= ',directionality';
		}

		if ( ! empty( $mce_init['toolbar1'] ) && ! preg_match( '/bltrb/', $mce_init['toolbar1'] ) ) {
			$mce_init['toolbar1'] .= ',ltr';
		}
	}

	return $mce_init;
}

📄 原文内容

Sets the localized direction for MCE plugin.

Description

Will only set the direction to ‘rtl’, if the WordPress locale has the text direction set to ‘rtl’.

Fills in the ‘directionality’ setting, enables the ‘directionality’ plugin, and adds the ‘ltr’ button to ‘toolbar1’, formerly ‘theme_advanced_buttons1’ array keys. These keys are then returned in the $mce_init (TinyMCE settings) array.

Parameters

$mce_initarrayrequired
MCE settings array.

Return

array Direction set for 'rtl', if needed by locale.

Source

function _mce_set_direction( $mce_init ) {
	if ( is_rtl() ) {
		$mce_init['directionality'] = 'rtl';
		$mce_init['rtl_ui']         = true;

		if ( ! empty( $mce_init['plugins'] ) && ! str_contains( $mce_init['plugins'], 'directionality' ) ) {
			$mce_init['plugins'] .= ',directionality';
		}

		if ( ! empty( $mce_init['toolbar1'] ) && ! preg_match( '/bltrb/', $mce_init['toolbar1'] ) ) {
			$mce_init['toolbar1'] .= ',ltr';
		}
	}

	return $mce_init;
}

Changelog

Version Description
2.1.0 Introduced.