WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Платформа для конвертации и монетизации трафика
функция не описана

Plural_Forms::execute() public WP 4.9.0

Execute the plural form function.

{} Это метод класса: Plural_Forms{}

Хуков нет.

Возвращает

Число. Plural form value.

Использование

$Plural_Forms = new Plural_Forms();
$Plural_Forms->execute( $n );
$n(число) (обязательный)
Variable "n" to substitute.

Список изменений

С версии 4.9.0 Введена.

Код Plural_Forms::execute() WP 5.5.3

<?php
public function execute( $n ) {
	$stack = array();
	$i     = 0;
	$total = count( $this->tokens );
	while ( $i < $total ) {
		$next = $this->tokens[ $i ];
		$i++;
		if ( 'var' === $next[0] ) {
			$stack[] = $n;
			continue;
		} elseif ( 'value' === $next[0] ) {
			$stack[] = $next[1];
			continue;
		}

		// Only operators left.
		switch ( $next[1] ) {
			case '%':
				$v2      = array_pop( $stack );
				$v1      = array_pop( $stack );
				$stack[] = $v1 % $v2;
				break;

			case '||':
				$v2      = array_pop( $stack );
				$v1      = array_pop( $stack );
				$stack[] = $v1 || $v2;
				break;

			case '&&':
				$v2      = array_pop( $stack );
				$v1      = array_pop( $stack );
				$stack[] = $v1 && $v2;
				break;

			case '<':
				$v2      = array_pop( $stack );
				$v1      = array_pop( $stack );
				$stack[] = $v1 < $v2;
				break;

			case '<=':
				$v2      = array_pop( $stack );
				$v1      = array_pop( $stack );
				$stack[] = $v1 <= $v2;
				break;

			case '>':
				$v2      = array_pop( $stack );
				$v1      = array_pop( $stack );
				$stack[] = $v1 > $v2;
				break;

			case '>=':
				$v2      = array_pop( $stack );
				$v1      = array_pop( $stack );
				$stack[] = $v1 >= $v2;
				break;

			case '!=':
				$v2      = array_pop( $stack );
				$v1      = array_pop( $stack );
				$stack[] = $v1 != $v2;
				break;

			case '==':
				$v2      = array_pop( $stack );
				$v1      = array_pop( $stack );
				$stack[] = $v1 == $v2;
				break;

			case '?:':
				$v3      = array_pop( $stack );
				$v2      = array_pop( $stack );
				$v1      = array_pop( $stack );
				$stack[] = $v1 ? $v2 : $v3;
				break;

			default:
				throw new Exception( sprintf( 'Unknown operator "%s"', $next[1] ) );
		}
	}

	if ( count( $stack ) !== 1 ) {
		throw new Exception( 'Too many values remaining on the stack' );
	}

	return (int) $stack[0];
}