# wplingua/2.13.1/inc/dom/replace-body-class.php

Translate and Go multilingual – Automatic AI translation – wpLingua, version 2.13.1. 54 lines.

- Page: https://pluginprobe.com/plugins/wplingua/2.13.1/code/inc/dom/replace-body-class.php
- Raw: https://pluginprobe.com/plugins/wplingua/2.13.1/raw/inc/dom/replace-body-class.php
- Modified: 2026-05-28T00:17:22+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/wplingua/2.13.1/code/inc/dom/replace-body-class.php#L10-L20`.

```php
<?php

// If this file is called directly, abort.
if ( ! defined( 'WPINC' ) ) {
	die;
}


/**
 * Modify the body class in dom for translated pages
 *
 * @param object $dom
 * @param array  $args
 * @return object
 */
function wplng_dom_replace_body_class( $dom, $args ) {

	wplng_args_setup( $args );

	// Replace languages IDs in <body> class
	foreach ( $dom->find( 'body' ) as $element ) {

		$class_array = ! empty( $element->class ) ? explode( ' ', $element->class ) : array();

		foreach ( $class_array as $key => $class ) {
			if ( wplng_str_is_locale_id( $class ) ) {
				$class_array[ $key ] = $args['language_target'];
			} elseif ( 'ltr' === $class || 'rtl' === $class ) {
				$class_array[ $key ] = $args['language_target_dir'];
			}
		}

		$class_array[] = 'wplingua-translated';

		global $wplng_class_reload;

		if ( true === $wplng_class_reload ) {
			$class_array[] = 'wplingua-reload';
		}

		$class_array = array_unique( $class_array ); // Remove duplicate
		$class_str   = '';

		foreach ( $class_array as $class ) {
			$class_str .= $class . ' ';
		}

		$class_str      = trim( $class_str );
		$element->class = esc_attr( $class_str );
	}

	return $dom;
}

```
