我想在我的Tumblr主题中写一个规范标签,我需要用于(完整)网址的slug。如何访问模板中的posts-slug?我只能访问PostId。我目前的代码如下:
<link rel="canonical" href="http://domain.com/blog/{block:PostTitle}post/{PostID}{/block:PostTitle}" />
我想拥有的是这样的:
<link rel="canonical" href="http://domain.com/blog/{block:PostTitle}post/{PostID}/{PostSlug}{/block:PostTitle}" />
我尝试了以下标签(显然不起作用......):
{slug}
{PostSlug}
{Postslug}
令我感到有趣的是,API会在每个帖子上发出一个slug-key,请尝试:
http://(YOU).tumblr.com/api/read?debug=1
感谢任何提示和建议。
编辑:我已经扫描了http://www.tumblr.com/docs/en/custom_themes以获取提示 - 但没有发现任何有用的内容。
答案 0 :(得分:2)
在Tumblr的主题DSL中,post slug无法作为令牌使用。我不确定这是否是故意遗漏,因为post slugs在Tumblr上是可选的(你可以手动设置一个,但如果你没有你的帖子只是按其数字ID)。但是,您可以从the {Permalink} token插入的链接中解析它,即将其包含在模板中的某些隐藏元素中
<span class="permalink-url">{Permalink}</span>
(如果愿意,隐藏跨度),然后使用JavaScript检索并解析它:
var plTags = document.querySelectorAll('.permalink-url');
for (i = 0; i <= plTags.length; i++) {
postSlug=plTags[i].replace(/.+\//, '');
// do whatever you want with the slug
}