Master-X
Форум | Новости | Статьи
Главная » Форум » Блоги и Социальные сети » 
Тема: Редиректы в виджете
цитата
26/10/11 в 14:40
 SMYK
Такой вопрос. Есть ли возможность сделать редиректы и в виджете? Те, инклудится в страницу готовый виджет с ссылками на спона, а нужно, чтобы каждая такая ссылка становилась внутренней, но вела бы есст-но при клике на правильный спонсорский адрес. Это элементарно делается со стационарными линками, но в упор не соображу как это осуществить здесь. Заранее спасибо
цитата
26/10/11 в 14:44
 andreich
SMYK писал:
Это элементарно делается со стационарными линками

ну если раскажешь как это делается на статике, я раскажу как сделать это в виджете smail54.gif
цитата
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:, так они и ставятся, кк на большинстве ревью icon_smile.gif
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". Короче: формализуй задачу. icon_smile.gif
цитата
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 надо заюзать, думаю Як сейчас напишет smail54.gif

а линки в виджете все разные? закопипасти сюда код своего виджета.

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>


icon_smile.gif
цитата
04/11/11 в 13:00
 SMYK
Че-то не пришло уведомление об ответах, а тут люди столько всего полезного написали icon_confused.gif Спасибо огромное Yacc, ну и всем остальным тоже icon_smile.gif Будем пробовать


Эта страница в полной версии