ACF_Post_Type::validate_postpublicACF 6.1

Validates an ACF internal post type.

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

Хуки из метода

Возвращает

Массив.

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

$ACF_Post_Type = new ACF_Post_Type();
$ACF_Post_Type->validate_post( $post );
$post(массив)
The main post array.
По умолчанию: array()

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

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

Код ACF_Post_Type::validate_post() ACF 6.4.2

public function validate_post( $post = array() ) {
	// Bail early if already valid.
	if ( is_array( $post ) && ! empty( $post['_valid'] ) ) {
		return $post;
	}

	$defaults = $this->get_settings_array();
	$post     = wp_parse_args(
		$post,
		$defaults
	);

	// Convert types.
	$post['ID']         = (int) $post['ID'];
	$post['menu_order'] = (int) $post['menu_order'];

	foreach ( $post as $setting => $value ) {
		if ( isset( $defaults[ $setting ] ) ) {
			$default_type = gettype( $defaults[ $setting ] );

			// register_post_type() needs proper booleans.
			if ( 'boolean' === $default_type && in_array( $value, array( '0', '1' ), true ) ) {
				$post[ $setting ] = (bool) $value;
			}

			if ( 'boolean' === $default_type && in_array( $value, array( 'false', 'true' ), true ) ) {
				$post[ $setting ] = ! ( 'false' === $value );
			}
		}
	}

	// Post is now valid.
	$post['_valid'] = true;

	/**
	 * Filters the ACF post array to validate settings.
	 *
	 * @date    12/02/2014
	 * @since   5.0.0
	 *
	 * @param   array $post The post array.
	 */
	return apply_filters( "acf/validate_{$this->hook_name}", $post );
}