Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Блоги и Социальные сети
»
Тема:
Редиректы в виджете
Новая тема
Ответить
цитата
26/10/11 в 14:40
SMYK
Такой вопрос. Есть ли возможность сделать редиректы и в виджете? Те, инклудится в страницу готовый виджет с ссылками на спона, а нужно, чтобы каждая такая ссылка становилась внутренней, но вела бы есст-но при клике на правильный спонсорский адрес. Это элементарно делается со стационарными линками, но в упор не соображу как это осуществить здесь. Заранее спасибо
цитата
26/10/11 в 14:44
andreich
SMYK писал:
Это элементарно делается со стационарными линками
ну если раскажешь как это делается на статике, я раскажу как сделать это в виджете
цитата
26/10/11 в 15:23
hellshouter
ну разница где ты линки ставишь то? в виджете, не в виджете?
линка на спонсора
/go/sitename
в папке go лежит htaccess
RewriteEngine On
#redirects to pay sites
Redirect /go/sitename url_to_sitename
цитата
31/10/11 в 12:18
SMYK
andreich:
ну вот почитай выше
hellshouter:
, так они и ставятся, кк на большинстве ревью
hellshouter:
Спасибо, но это не совсем то. Попробую объяснить. Виджет уже идет с сылками вида
http://www.paysite.com/
и с этим, как я понимаю, ничего уже не поделать. Вопрос в том можно ли как-то уже на самом блоге сделать так, чтобы эти ссылки выглядели для гугла и юзеров как
http://www.MYBLOG.com/go/sitename
ну и все как ты раньше расписал, ну или скажем сделать такую "подмену":
http://www.paysite.com/ABCDE...
на
http://www.MYBLOG.com/ABCDE...
, но есст-но с тем же фактическим адресом после клика
цитата
31/10/11 в 12:23
andreich
SMYK:
ммм... ты имеешь ввиду виджеты которые дает спонсор ?
можно пример такого виджета
цитата
31/10/11 в 12:26
SMYK
Как оперативно ответил))) Да виджет от Амазона например с его топ продуктами
цитата
31/10/11 в 12:35
Yacc
Напиши как ты его подключаешь к блогу. Копипастишь в текстовый виджет в админке блога? Или руками в файлы темы? И уточни, что скрывается под "ABCDE". Короче: формализуй задачу.
цитата
31/10/11 в 12:48
SMYK
Оооо) Как раз вовремя. Я как раз копипастю в текстовый виджет в админке блога, а под ABCDE скрывается редирект невдолбенный))
Вот примерный линк
http://www.amazon.com/category/dp/BHY001RLCQQW/ref=as_li_tgf_mfw?&a g=myrefkod
из виджета (их там 5-10 таких). Думаю, что достаточно бы было подменять amazon.com на myblog.com , хотя возможно есть что-то и по элегантнее)))
цитата
31/10/11 в 13:07
hellshouter
add_filter надо заюзать, думаю Як сейчас напишет
а линки в виджете все разные? закопипасти сюда код своего виджета.
UPD. посмотрел сам, я думаю хер получится, так как ты вставляешь код туда(который исполняет браузер), который при исполнении уже берет контент(в т.ч. и урлы) от амазона(все это без участия ВП уже).
p.s. ссылки на такие домены как амазон, это вроде не так уж и плохо...
цитата
31/10/11 в 14:59
andreich
ХМ ... тут видать всетаки задача для прогера
цитата
31/10/11 в 15:15
andreich
hellshouter писал:
p.s. ссылки на такие домены как амазон, это вроде не так уж и плохо...
очень грамотное замечание
цитата
31/10/11 в 18:41
Yacc
Проверено с виджетом The Top Products - работает. Не знаю будет ли работать с другими виджетами амазона.
В header.php, в секцию HEAD добавить
Код:
<script>
function foo() {
if( ! document.getElementById( 'amzn_popup_div' ) ) {
window.setTimeout( foo, 1000 );
return;
}
bar();
}
function bar() {
var go_url = '<?php echo str_replace( 'http://', '', esc_url( home_url( '/go/' ) ) ); ?>';
var links = document.getElementById( 'wdgt_brdr' ).getElementsByTagName( 'a' );
for( i in links ) {
if( links[ i ].href ) {
links[ i ].href = links[ i ].href.replace( "http://", "http://" + go_url );
if( links[ i ].onmouseover )
links[ i ].setAttribute( 'onmouseover', links[ i ].getAttribute( 'onmouseover' ).replace( /href%3D%2(2|7)http%3A\/\//g, "href%3D%2$1http%3A//" + go_url ) );
}
else if( links[ i ].onclick )
links[ i ].setAttribute( 'onclick', links[ i ].getAttribute( 'onclick' ) + 'bar();' );
}
}
window.onload = foo;
</script>
В корне создать файл redirect.php
Код:
<?php header( 'Location:'.str_replace( '/go', 'http:/', $_SERVER[ 'REQUEST_URI' ] ) ); ?>
В корне создать папку go и положить в неё файл .htaccess
Код:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /go/
RewriteRule ^(.+) /redirect.php/$1 [L]
</IfModule>
цитата
04/11/11 в 13:00
SMYK
Че-то не пришло уведомление об ответах, а тут люди столько всего полезного написали
Спасибо огромное Yacc, ну и всем остальным тоже
Будем пробовать
Новая тема
Ответить
Эта страница в полной версии