如果你使用免费版本的 瘜典对于WordPress来说,你已经知道它为翻译而生成的新页面或帖子并不复制原始内容。
这是其付费版本的功能之一,在免费版本中,你必须用手粘贴。
为了解决这个问题并加快进程,只需在你的模板的functions.php文件中添加一些函数。
建议在""中添加它。儿童主题"在你 自己的功能插件或使用 代码摘录以防它在你的情况下不工作,你可以很容易地恢复这些变化,或者以防由于WordPress、你的模板、Polylang或PHP版本的未来更新而出现一些问题。
// Copying content when creating a translation with Polylang
function jb_editor_content( $content ) {
// Polylang sets the 'from_post' parameter
if ( isset( $_GET['from_post'] ) ) {
$my_post = get_post( $_GET['from_post'] );
if ( $my_post )
return $my_post->post_content;
}
return $content;
}
add_filter( 'default_content', 'jb_editor_content' );
// Copying content when creating a translation with Polylang
function jb_editor_title( $title ) {
// Polylang sets the 'from_post' parameter
if ( isset( $_GET['from_post'] ) ) {
$my_post = get_post( $_GET['from_post'] );
if ( $my_post )
return $my_post->post_title;
}
return $title;
}
add_filter( 'default_title', 'jb_editor_title' );
我不知道它是否在所有的模板上都有效(在这里它在GeneratePress上运行良好)。我发现它在 注释从去年12月开始,所以最好先在一个隔离的测试环境中尝试(阶段性).
用Polylang翻译标签,另一个故事
一个侧面说明。Polylang,尽管是最流行和最轻量级的免费插件之一,但也是一个很好的例子。 创建一个多语言博客最受欢迎的轻量级插件,是我使用的少数几个我认为在其专业版中没有太多改进的插件之一。我已经试过这两个版本,有时它很麻烦。我认为它需要发展,以简化其使用,改善字符串翻译,并使其更加直观。
现在我们可以用Polylang复制原始内容到要翻译的新页面,我们将有标题、内容,通常还有标签。
这里的问题是,在帖子的情况下,标签被复制成西班牙文,然后保存为新的标签,在slug的末尾添加语言前缀,例如 "nombredeetiqueta-en"(在英语的情况下)。
这导致了另一个新标签的产生,没有与原始语言标签的链接,也没有翻译。它很可能最终成为孤儿,或只在一个帖子中使用。
更糟糕的是,这些标签会堆积起来,直到达到令人发笑的数字。相信我,在最后一次修改和清理之前(如果你在robots.txt中索引它们并创建301重定向,你必须非常小心地做,因为它们是你的页面的URL,将被破坏),它们加起来有8848个庞大的数字。
此外,有太多的标签会减慢数据库查询速度,损害性能。
解决办法不是在编辑器中删除它们,然后在新的语言中添加新的语言,因为这不会使它们被删除,你只是再次创建相同的词,并在词条中加上"-en"的前缀。
理想的方法,尽管很繁琐,是明确你要在文章中确切地使用哪些标签(最多四或五个)来翻译和 创建在前其相应的翻译。
一旦翻译被保存,当你创建帖子的新副本时,Polylang也会导出标签,但现在是为相应的选择的语言翻译。
标签的作用主要是改善你的博客的内部搜索,尽管许多SEO专家建议既不要索引标签,也不要索引类别,但如果以合理和谨慎的策略来做,它们可以产生不小的有机访问。我可以为这一点作担保。
你可以通过创建良好的描述和一个不与类别名称重叠的逻辑层次,以及避免创建可被视为重复的内容,从标签中获得大量的收益。