acf_add_url_utm_tags() │ ACF 6.0.0

Add UTM tracking tags to internal ACF URLs

Hooks from the function

Returns

string.

Usage

acf_add_url_utm_tags( $url, $campaign, $content, $anchor, $source, $medium );
$url(string) (required)
The URL to be tagged.
$campaign(string) (required)
The campaign tag.
$content(string) (required)
The UTM content tag.
$anchor(true|false)
An optional anchor ID.
Default: false
$source(string)
An optional UTM source tag.
Default: ''
$medium(string)
An optional UTM medium tag.
Default: ''

Changelog

Since 6.0.0 Introduced.

acf_add_url_utm_tags() code ACF 6.8.8

function acf_add_url_utm_tags( $url, $campaign, $content, $anchor = false, $source = '', $medium = '' ) {
	$anchor_url = $anchor ? '#' . $anchor : '';
	$medium     = ! empty( $medium ) ? $medium : 'insideplugin';

	if ( empty( $source ) ) {
		$source = acf_is_pro() ? 'ACF PRO' : 'ACF Free';
	}

	$query = http_build_query(
		apply_filters(
			'acf/admin/acf_url_utm_parameters',
			array(
				'utm_source'   => $source,
				'utm_medium'   => $medium,
				'utm_campaign' => $campaign,
				'utm_content'  => $content,
			)
		)
	);

	if ( $query ) {
		if ( strpos( $url, '?' ) !== false ) {
			$query = '&' . $query;
		} else {
			$query = '?' . $query;
		}
	}

	return esc_url( $url . $query . $anchor_url );
}