Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript从Tumblr重定向到WordPress_Javascript_Wordpress_Redirect_Tumblr - Fatal编程技术网

JavaScript从Tumblr重定向到WordPress

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

我已经阅读了很多关于将Tumblr重定向到WordPress的主题,但我仍然找不到合适的解决方案

问题是:我想重定向,一个Tumblr博客,到一个新的WordPress(WIP)博客,带有自定义域和web空间等。我已经导入了所有内容,现在我只想“自动”重定向来自

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:Posts}
    block和Tumblr计算要在其中显示多少帖子。这意味着
    meta-http equiv=“Refresh”
    标记是不可能的,因为它们也将包含在所有非单篇文章页面中
幸运的是,Tumblr允许您在模板中包含任意JavaScript,这就是方法:

  • {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>