2012-05-11 2 views
1

Tumblr을 WordPress로 리디렉션하는 것에 관한 많은 주제를 읽었지만 여전히 적합한 솔루션을 찾을 수 없습니다. 여기 Tumblr에서 WordPress로 JavaScript 리디렉션

문제이다 : 나는 이미 모든 내용을 가져온 새로운 jeby.itjeby.tumblr.com하는 텀블러 블로그 등 사용자 정의 도메인 및 웹 공간 워드 프레스 (WIP) 블로그를 리디렉션 할 지금 내가 원하는 건 내가 아는

jeby.it/2012/05/some-slug 

"자동적으로"에

jeby.tumblr.com/post/[POST ID]/some-slug 

에서 매일 게시물을 리디렉션하는 것입니다 포스트 Y 귀와 달은 Tumblr HTML 코드에서 사용할 수 있습니다.이 코드는 퍼머 링크를 구성하는 데 사용됩니다. Tumblr 블로그가 Tumblr에 의해 호스팅되기 때문에 .htaccess 리디렉션을 사용할 수 없습니다.

Blogspot에서 똑같은 작업을했는데 Blogspot 모델에 붙여 넣고 자동 리다이렉션을 할 수있는 올바른 JavaScript 코드를 만든 플러그인을 발견했습니다.

답변

0

이미 깨달은대로 리디렉션 클라이언트 측을 수행해야합니다. 그것을 달성하는 방법은 Tumblr의 theme templating system’s possibilities and limitations의 문제입니다.

  • 게시물의 연도와 월 각각 available as {Year} and {MonthNumberWithZero} 토큰은; 당신에게 201205을 가져옵니다.
  • 포스트 슬러그하지만 토큰으로 사용할 수 없습니다 (의도적 인 누락 인 지 확실하지 않음 - 포스트 슬러그는 Tumblr에서 선택 사항이며 수동으로 설정할 수도 있지만 게시하지 않는 경우 이동). 그것의 숫자 ID에 의해) - 그래서 당신은 the {Permalink} token에 의해 삽입 된 링크에서 그것을 파싱해야 할 것입니다.
  • 리디렉션은 단일 게시물 페이지에서만 수행 할 수 있습니다. 불행히도, Tumblr의 테마 DSL의 아름다움과 한계는 그것이 하나의 페이지로 정의된다는 것입니다 : {block:Posts} 블록을 얻었고 Tumblr은 그 안에 표시하십시오. 즉, meta http-equiv="Refresh" 태그는 모두 비 - 단일 - 게시물 페이지에 포함되므로 질문에서 제외됩니다.

다행히, 텀블러를 사용하면 템플릿에 임의의 자바 스크립트를 포함 할 수 있습니까, 그 길을 가야하는 것입니다 :

  1. {block:Posts} 블록 내부에 다음 줄을 추가합니다 :

    <span class="redirdata">{Year},{MonthNumberWithZero},{Permalink}</span> 
    

    redirdata의 CSS 스타일을 display:none으로 CSS에서 숨기거나 스타일을 적용하십시오. 의도 된 용도를 고려할 때 독단적 인 점은 거의 없습니다.

  2. 이제는 <head>에 구문을 추가하여 구문 분석하고 WordPress URL로 리디렉션하십시오. 가능한 모든 방문자 (브라우저 간 호환 가능)를 위해이 작업을 수행하려면 jQuery을 사용하는 것이 좋습니다.

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> 
    

    또는 다른 호스팅 소스 (CDN URL에 the jQuery docs 참조)로를 포함합니다. (그들은 물론, 자바 스크립트를 사용하도록 설정 한 경우) 자동으로 워드 프레스 포스트 페이지에 모든 방문자를 리디렉션해야

    <script type="text/javascript"> 
        $(function(){ 
         if ($('.redirdata').length === 1) { 
          var redirdataTokens = $('.redirdata').text().split(','); 
          if (redirdataTokens.length === 3) { 
           var redirectTo = 'http://jeby.it/'+redirdataTokens[0]+'/'+redirdataTokens[1]+'/'+redirdataTokens[2].replace(/.*\//, ''); 
           window.location = redirectTo; 
          } 
         } 
        }); 
    </script> 
    

    하고 단일 포스트 페이지 : 그런 다음 스크립트를 추가합니다. 필자는 필요할 경우이를 아카이브, 검색 및 기타 태그에 적용하는 방법을 알게 될 것이라고 확신합니다.

주의 할 Empteor : 당신의 WP 게시물의 굼벵이이 텀블러 게시물의 굼벵이와 일치하는 경우에만 동작합니다 - 아니 텍스트 슬러그와 텀블러 포스트의 경우에도 결정적으로 (의미 당신은 슬러그가 필요 WP 이 경우 숫자 Tumblr 게시물 ID와 일치).

+0

감사합니다. 정확히 무엇이 필요합니까? $ function ... 등을 넣을 위치를 이해하지 못했습니다 ... – user1389100

+0

@ user1389100 : jQuery 스크립트 태그 뒤에 템플릿 * head * 안에 * script * 태그를 넣으십시오. , 즉 ' – kopischke

+0

mmh ... 작동하지 않습니다. 아마 이것을하기 전에 "표준"tumblr 테마로 되돌아 가야할까요? – user1389100

관련 문제