WPML-404错误,当我尝试在我的“不同语言的目录”安装中传递GET参数时

时间:2015-06-09 作者:Jabel Márquez

我正在使用WPML 使用安装languages in different directories. 但我想通过一些_$GET 参数,我得到了404错误。

我要通过_$GET 带有链接的参数。就像这样:

$link_aqui_se_sirve = get_permalink( get_page_by_path(\'donde\') );
$taxonomia_estados = get_terms(\'estados\');

foreach ( $taxonomia_estados as $tax ) :
     $nombre_estado = $tax->name;
     $link = $link_aqui_se_sirve.\'?\'.$establecimientos_cpt_name.\'=\'.$tax->slug;
     <a href="<?php echo $link; ?>"><?php echo $some_name; ?></a>
endforeach;
我正确获取url,例如:site.com/es/donde/?establecimiento=oaxaca 但我得到了404错误。

我以前在其他网站上用过这种方式(没有多语言),效果很好。有什么办法解决吗?谢谢

1 个回复
最合适的回答,由SO网友:Mathew Tinsley 整理而成

GET参数的问题是使用与自定义帖子类型的查询变量相同的名称。

$link = $link_aqui_se_sirve.\'?\'.$establecimientos_cpt_name.\'=\'.$tax->slug;
对于该URL,WordPress期望$establecimientos_cpt_name 参数为后段塞。相反,你给它一个分类学的鼻涕虫。这将给你一个404,除非你有一篇文章碰巧与你的分类法有相同的slug。

如果您为自己的目的设置此参数,则应选择与WordPress的内部请求处理不冲突的名称。

结束

相关推荐

multi-language WordPress site

我正在制作由WordPress支持的多语言网站。WPML 不是免费的,而且它对数据库进行了太多额外的sql查询,所以对于我的站点来说,这不是一个好的解决方案。qTranslate 将所有语言保存在一个数据库行中,以后移动到另一个多语言插件非常复杂。<?php _e( \'<!--:en-->english text<!--:--><!--:de-->german text<!--:-->\' ); ?> xLanguage 两年多没有更新