我在WP中使用permalinks作为:domain.com/category/post_name
问题是,帖子名称有非拉丁字符,如汉语、希伯来语和阿拉伯语。所以它将它们编码为:%20%18%6b%20
因此,它将每个符号的字符计算为实际字符,最终长度是截断一些非常短的段塞的3倍。
如何解决这个问题?或者至少如何延长长度限制?我已经尝试将数据库字段“post\\u name”的长度从200扩展到500,但它仍然是短截短的。
我在WP中使用permalinks作为:domain.com/category/post_name
问题是,帖子名称有非拉丁字符,如汉语、希伯来语和阿拉伯语。所以它将它们编码为:%20%18%6b%20
因此,它将每个符号的字符计算为实际字符,最终长度是截断一些非常短的段塞的3倍。
如何解决这个问题?或者至少如何延长长度限制?我已经尝试将数据库字段“post\\u name”的长度从200扩展到500,但它仍然是短截短的。
Permalinks类http://example/שָׁלוֹם
实际上是在我的WordPress 3.3中工作。可能是remove_accents() improvements for i18n permalinks.
作为Sean&;Steve指出,
确保您使用的是WordPress≥ 3.3确保您的。htaccess文件包含类似于以下内容的规则RewriteRule . /index.php [L]
consider converting to UTF-8 如果没有)[下面是我的原始答案,现在不太相关,但可能仍然有用:]
看见
一些插件可能会有帮助:
http://wordpress.org/extend/plugins/pinyin-slug/
例如,当您发布标题为“汉语拼音”的帖子时,Wordpress会自动为您的帖子分配一个长文件名,称为帖子slug:/%e4%b8%ad%e6%96%87%e6%8b%bc%e9%9f%b3
[…]激活汉语拼音插件后,我们的示例博客帖子的slug如下所示:/zhongwenpinyin
http://wordpress.org/extend/plugins/pinyin-seo/
将汉字转换为拼音永久拼音。此外,一些多语言插件可能能够自动将你的鼻涕虫翻译成英语(因此只能翻译成拉丁文字符),但我没有使用任何一个,所以我不确定。
除了消毒之外,扩展slug长度的唯一方法是修改WP代码
在文件中wp-includes/formatting.php
:
代替200
因此:
$title = utf8_uri_encode($title, 200);
在文件中:wp-includes/post.php
使用以下内容搜索3行:$alt_post_name = substr( $slug, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix";
每次WP更新都会发现问题Wordpress中我最喜欢的部分template hierarchy 是一种通过slug快速创建页面模板文件的能力,无需在Wordpress中编辑页面来选择模板。我们目前可以这样做:第-{slug}页。php但我希望能够做到这一点:单-{post\\u type}-{slug}。php例如,在一个名为review, 我可以在single-review-my-great-review.php以前有人设置过这个吗?single-{post_type}-{slug}.php