我一直在为wordpress开发一个完全有效的语言插件。现在唯一缺少的是url重写。我一直在查看许多有关stackoverflow的网站、来源和其他问题,但我似乎无法让我的永久链接发挥作用。
我可以添加如下查询字符串变量:
public function append_query_string($url)
{
$args = array(\'lang\' => $this->get_locale());
return add_query_arg($args, $url);
}
add_filter(\'page_link\', array($this, \'append_query_string\'));
add_filter(\'post_link\', array($this, \'append_query_string\'));
add_filter(\'the_permalink\', array($this, \'append_query_string\'));
这会将我的链接更改为
http://www.mylink.com?lang=en_us
例如我现在想要的是添加一个permastruct,这样用户就可以拥有漂亮的url(例如。
http://www.mylink.com/en/
)
我添加了以下代码:
public function add_query_var($vars)
{
$vars[\'lang\'] = $this->get_locale();
return $vars;
}
add_filter(\'request\' , array($this, \'add_query_var\'), 10, 2 );
public function custom_permastruct()
{
add_permastruct(\'language\', \'%lang%\', false);
}
add_action(\'wp_loaded\', array($this, \'custom_permastruct\'));
我想我现在唯一需要的是重写规则,但我可能完全错了。谁知道添加这种磁导率的最佳解决方案是什么?