Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
automator_utm_parameters( String $url, array $medium = '', array $content = '' )
Add UTM parameters to a given URL
Contents
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Parameters Parameters
- $url
(Required) URL
- $medium
(Optional) The value for utm_medium
Default value: ''
- $content
(Optional) The value for utm_content
Default value: ''
Return Return
(String) URL with the UTM parameters
Source Source
File: src/global-functions.php
function automator_utm_parameters( $url, $medium = '', $content = '' ) { // utm_source=plugin-id // utm_medium=section-id // utm_content=element-id+unique-id $default_utm_parameters = array( 'source' => 'uncanny_automator_pro', ); try { // Parse the URL $url_parts = wp_parse_url( $url ); // If URL doesn't have a query string. if ( isset( $url_parts['query'] ) ) { // Avoid 'Undefined index: query' parse_str( $url_parts['query'], $params ); } else { $params = array(); } // Add default parameters foreach ( $default_utm_parameters as $default_utm_parameter_key => $default_utm_parameter_value ) { $params[ 'utm_' . $default_utm_parameter_key ] = $default_utm_parameter_value; } // Add custom parameters if ( ! empty( $medium ) ) { $params['utm_medium'] = $medium; } if ( ! empty( $content ) ) { $params['utm_content'] = $content; } // Encode parameters $url_parts['query'] = http_build_query( $params ); if ( function_exists( 'http_build_url' ) ) { // If the user has pecl_http $url = http_build_url( $url_parts ); } else { $url_parts['path'] = ! empty( $url_parts['path'] ) ? $url_parts['path'] : ''; $url = $url_parts['scheme'] . '://' . $url_parts['host'] . $url_parts['path'] . '?' . $url_parts['query']; } } catch ( \Exception $e ) { //phpcs:ignore Generic.CodeAnalysis.EmptyStatement.DetectedCatch } return $url; }
Expand full source code Collapse full source code View on Github