JavaScript从Tumblr重定向到WordPress
我已经阅读了很多关于将Tumblr重定向到WordPress的主题,但我仍然找不到合适的解决方案 问题是:我想重定向,一个Tumblr博客,到一个新的WordPress(WIP)博客,带有自定义域和web空间等。我已经导入了所有内容,现在我只想“自动”重定向来自JavaScript从Tumblr重定向到WordPress,javascript,wordpress,redirect,tumblr,Javascript,Wordpress,Redirect,Tumblr,我已经阅读了很多关于将Tumblr重定向到WordPress的主题,但我仍然找不到合适的解决方案 问题是:我想重定向,一个Tumblr博客,到一个新的WordPress(WIP)博客,带有自定义域和web空间等。我已经导入了所有内容,现在我只想“自动”重定向来自 jeby.tumblr.com/post/[POST ID]/some-slug 到 我知道在Tumblr HTML代码中可以使用年和月,因为它们用于编写永久链接。我无法使用.htaccess重定向,因为Tumblr博客由Tumblr
jeby.tumblr.com/post/[POST ID]/some-slug
到
我知道在Tumblr HTML代码中可以使用年和月,因为它们用于编写永久链接。我无法使用.htaccess
重定向,因为Tumblr博客由Tumblr托管
我在Blogspot上也做了同样的事情,我发现了一个插件,它创建了正确的JavaScript代码,可以粘贴到Blogspot模型中并自动重定向。正如您已经意识到的,您需要在客户端执行重定向。如何实现这一点是Tumblr的问题
- 帖子的年份和月份分别是代币;这将使您获得
和2012
05
- 但是,post slug不能作为标记使用(不确定这是否是故意遗漏–post slug在Tumblr上是可选的;您可以手动设置一个,但如果不设置,则您的post只使用其数字ID)-因此您必须从插入的链接中解析它
- 重定向只能在单个帖子页面上进行。不幸的是,没有基于模板的方法来确保您只针对这些页面,因为Tumblr主题DSL的优点和局限性在于它被定义为一个页面:您得到一个
block和Tumblr计算要在其中显示多少帖子。这意味着{block:Posts}
标记是不可能的,因为它们也将包含在所有非单篇文章页面中meta-http equiv=“Refresh”
{block:Posts}
块中添加以下行:
<span class="redirdata">{Year},{MonthNumberWithZero},{Permalink}</span>
或任何其他托管源(有关CDN URL,请参阅)。然后添加以下脚本:
<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>
$(函数(){
如果($('.redirdata')。长度===1){
var redirdataTokens=$('.redirdata').text().split(',');
如果(redirdataTokens.length==3){
var重定向到http://jeby.it/“+redirdataTokens[0]+'/'+redirdataTokens[1]+'/'+redirdataTokens[2]。替换(/.\/,”);
window.location=重定向到;
}
}
});
您的单个帖子页面应该自动将所有访问者重定向到WordPress帖子页面(当然,如果他们启用了JavaScript)。我相信,如果需要的话,您会想出办法将其应用于标记存档、搜索等注意清空:这只适用于WP帖子的slug与Tumblr帖子的slug匹配的情况——对于没有文本slug的Tumblr帖子也是如此(这意味着在这种情况下,您的WP slug需要与数字Tumblr帖子ID匹配)。谢谢,这正是我需要的,但我不知道将$function放在哪里。。。etc@user1389100:只需在jQuery脚本标记之后的模板头部中插入一个脚本标记,即
…
mmh。。。不工作。在执行此操作之前,也许我必须恢复到“标准”tumblr主题?@user1389100:my bad,jQuery元素和JS数组的混合-更正,请尝试上面修改的代码。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<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>