wpdb::placeholder_escape()publicWP 4.8.3

Generates and returns a placeholder escape string for use in queries returned by ::prepare().

Метод класса: wpdb{}

Хуков нет.

Возвращает

Строку. String to escape placeholders.

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

global $wpdb;
$wpdb->placeholder_escape();

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

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

Код wpdb::placeholder_escape() WP 6.5.2

public function placeholder_escape() {
	static $placeholder;

	if ( ! $placeholder ) {
		// If ext/hash is not present, compat.php's hash_hmac() does not support sha256.
		$algo = function_exists( 'hash' ) ? 'sha256' : 'sha1';
		// Old WP installs may not have AUTH_SALT defined.
		$salt = defined( 'AUTH_SALT' ) && AUTH_SALT ? AUTH_SALT : (string) rand();

		$placeholder = '{' . hash_hmac( $algo, uniqid( $salt, true ), $salt ) . '}';
	}

	/*
	 * Add the filter to remove the placeholder escaper. Uses priority 0, so that anything
	 * else attached to this filter will receive the query with the placeholder string removed.
	 */
	if ( false === has_filter( 'query', array( $this, 'remove_placeholder_escape' ) ) ) {
		add_filter( 'query', array( $this, 'remove_placeholder_escape' ), 0 );
	}

	return $placeholder;
}