acf_field_oembed::get_ajax_querypublicACF 5.0.9

This function will return an array of data formatted for use in a select2 AJAX response

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

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

Возвращает

(array).

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

$acf_field_oembed = new acf_field_oembed();
$acf_field_oembed->get_ajax_query( $args );
$args
.
По умолчанию: array()

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

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

Код acf_field_oembed::get_ajax_query() ACF 6.8.8

function get_ajax_query( $args = array() ) {

	// defaults
	$args = acf_parse_args(
		$args,
		array(
			's'         => '',
			'field_key' => '',
		)
	);

	// load field
	$field = acf_get_field( $args['field_key'] );
	if ( ! $field ) {
		return false;
	}

	// prepare field to correct width and height
	$field = $this->prepare_field( $field );

	/**
	 * Filters whether URL discovery is permitted on the AJAX oEmbed preview path.
	 *
	 * Discovery is restricted by default to users with the edit_posts capability,
	 * limiting unauthenticated and subscriber-tier callers to WordPress's
	 * registered oEmbed provider allowlist. Saved values and admin save-time
	 * rendering are unaffected.
	 *
	 * @since 6.8.3
	 *
	 * @param bool  $allow_discovery Whether discovery is permitted. Default: true for users with edit_posts, false otherwise.
	 * @param array $field           The oEmbed field array.
	 */
	$allow_discovery = (bool) apply_filters( 'acf/fields/oembed/allow_discovery', current_user_can( 'edit_posts' ), $field );

	// vars
	$response = array(
		'url'  => $args['s'],
		'html' => $this->wp_oembed_get( $args['s'], $field['width'], $field['height'], array( 'discover' => $allow_discovery ) ),
	);

	// return
	return $response;
}