使用插件生成的URL参数进行的is_front_page分隔符

时间:2011-11-28 作者:Dan Hanly

我有一个网站,只在主页上显示特定的布局功能,这很好。然而,客户建议他们希望网站能够双语,因此我添加了一个插件,允许在两种语言之间进行转换。

不幸的是,插件添加了/?lang=cy 我担心这会导致我的布局功能中断。

条件相对简单:

if (is_front_page()){ ?>
    RENDER HOMEPAGE FEATURE
<?php }
当我选择切换语言时,布局功能消失。

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

我不确定lang 是WordPress中保留/使用的查询变量,但如果不是,则添加可能会有所帮助。在上使用筛选器query_vars 像这样:

function my_query_vars( $vars ) {
    $vars[] = \'lang\';
    return $vars;
}
add_filter( \'query_vars\', \'my_query_vars\' );
虽然WordPress现在知道了语言查询变量,但我不确定是什么导致了is_front_page() 要停止返回true,可能与查询变量无关,而是与查询本身有关,因为is_front_page() 取决于$wp_query 全局对象。

那么您的语言插件是如何工作的呢?如果已设置id为的页面10 作为你的头版is_front_page() 因为该页将返回true, 但是如果您的语言插件正在过滤查询并获取id为的页面50 (这是翻译成意大利语的第10页)那么它就不再是头版了。

请提供更多关于您使用哪个插件处理翻译的信息,如果是您自己编写的,请告诉我们它是如何工作的:)

干杯

结束

相关推荐

Where are plugins located

我通常通过FTP下载和安装插件,但我已经从web界面安装了一些插件。我正在尝试将WP从远程移动到本地,我得到一个空白的WP管理屏幕。我认为是我的一个插件导致了这个问题。我已将wp-content/plugins重命名为wp-content/u-plugins,以禁用该文件夹中的所有插件。但我安装的插件没有出现在插件文件夹中,我认为这是导致wp管理屏幕空白的原因。请告知。谢谢