В предыдущей статье мы рассмотрели варианты мультилендингов. А теперь непосредственно переходим к практической реализации для сайтов на WordPress.
Предположим, на нашу страничку идет народ по трем запросам: «создание landing page», «верстка landing page», «разработка landing page». Соответственно этим запросам будем менять заголовок. Для всех остальных запросов заголовок пусть будет «разработка интернет проектов под ключ».
Запросы будем разделять с помощью UTM меток, которые можно сформировать в любом сервисе. Параметр utm_content соответствует конкретному запросу и позволяет однозначно определить запрос с помощью GET метода.
Скрипт на PHP имеет вид
Теперь в нужное место страницы нам достаточно вставить такой код:
Если же нам надо помимо заголовка поменять и картинку, то поменяем функцию
Вызывать картинку и заголовок будет код:
Для работы скрипта достаточно запустить исполняемый PHP код в WordPress.
Это все хорошо, но некоторые плагины (например Visual Composer) настолько влияют на работу CMS, что не получится запустить PHP код ни с одним плагином.
Как быть? На помощь идет старый добрый JavaScript
На тяжелом сайте может появиться некоторая задержка изменений. Если есть возможность сделать мультилендинг на PHP — делайте на PHP.
Усовершенствованный вариант js скрипта, который позволяет можно создать шаблоны для подмены на основе встречаемого слова (шаблоны определяются в переменной multi)
$(function() {
function getURLParameter(name) {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null;
}utm=[];
$.each(["utm_source","utm_medium","utm_campaign","utm_term",'source_type','source','position_type','position','added','creative','matchtype'],function(i,v){
utm[v]=getURLParameter(v) || $.cookie(v);
$.cookie(v, utm[v], { expires: 365, path: '/' });
});// MULTI
var ab_title = "default";
if(utm['utm_term']){
multi=multi.split('\n');
multi=$.map(multi,function(v, i){
arr1=v.split(';');
r=new RegExp(arr1[0]);
return {reg: r,val: arr1[1]};
});
multi=$.grep(multi,function(v,i){
return utm['utm_term'].search(v.reg) > -1
});
if(multi[0]){
ab_title=multi[0].val;
var target = $('.multi'); //элемент для подмены
target.html(ab_title);
}
}
});
А куда и в какой файл и в какую строку вставлять этот скрипт в вордпрессе и какой именно ?
Олег, скрипт вставлять необходимо прямо в тело страницы в том месте, где идут изменения динамически.
В целом идея понятна, а вот есть ли более простые способы? С кодами сложно работать начинающему. Может быть в ВП есть плагины для динамической подмены заголовков? Или достаточно вставить ваш усовершенствованный вариант js скрипта?
я пока не нашел подходящего плагина, приходится писать код. Как вариант можно сделать несколько страниц