Как исправить проблему с изменением символа «?» на «#» в UTM ссылках WordPress?

Конечно, вот более четко сформулированный вопрос: 
У меня возникла проблема с отображением ссылок с utm метками на сайте Wordpress. После добавления utm меток, ссылки отображаются некорректно. Как можно исправить данную проблему и корректно обрабатывать utm метки на сайте?
  • 17 апреля 2024 г. 16:10
Ответы на вопрос 2
Для исправления проблемы с изменением символа «?» на «#» в UTM ссылках в WordPress, можно воспользоваться специальным плагином или кодом. 

Один из способов - использовать плагин "WP UTM Builder", который позволяет корректно обрабатывать и отображать UTM метки в ссылках на вашем сайте. Данный плагин автоматически добавляет UTM метки к URL и учитывает изменение символа «?» на «#». 

Также можно использовать следующий код в файле functions.php вашей темы:

```php
function add_utm_to_permalink( $permalink, $post ) {
    if ( is_admin() ) {
        return $permalink;
    }
    
    $query_args = array();
    
    if ( isset($_GET['utm_source']) ) {
        $query_args['utm_source'] = $_GET['utm_source'];
    }
    
    if ( isset($_GET['utm_medium']) ) {
        $query_args['utm_medium'] = $_GET['utm_medium'];
    }
    
    if ( isset($_GET['utm_campaign']) ) {
        $query_args['utm_campaign'] = $_GET['utm_campaign'];
    }
    
    $utm_query = http_build_query( $query_args );
    
    $permalink = add_query_arg( $query_args, $permalink );
    
    return str_replace( '?', '#', $permalink );
}
add_filter( 'post_link', 'add_utm_to_permalink', 10, 2 );
add_filter( 'page_link', 'add_utm_to_permalink', 10, 2 );
```

Этот код будет заменять символ «?» на «#» в ссылках со всеми UTM метками на вашем сайте. 

Выберите необходимый способ решения проблемы и примените его на вашем сайте WordPress.
Всем спасибо за советы. Действительно проблема была в том, что был установлен плагин который делал редирект с заменой префикса utm ссылки.
Похожие вопросы