Wordpress 使用相同的 URL 来显示不同的内容,例如季节性网站

Posted

技术标签:

【中文标题】Wordpress 使用相同的 URL 来显示不同的内容,例如季节性网站【英文标题】:Wordpress use the same URL to display different content eg for seasonal websites 【发布时间】:2018-04-23 02:07:34 【问题描述】:

我希望创建一个夏季和冬季版本的网站。

一些内容,例如。产品是本季独有的。联系页面等其他内容是通用的。

每个季节的菜单/页脚都不同。我可以设置一个条件菜单,以便它显示某些页面/分类法等,但是对于通用页面如何工作?

示例:https://www.whistlerblackcomb.com/about-us/contact-us

您可以看到他们使用相同的联系页面和相同的 URL,但具有特定季节的菜单和略有不同的内容(英雄图片),具体取决于用户是否点击了“夏季”或“冬季”开关(右上角)。

这是如何实现的?

我认为一个很好的方法可以与 hreflang 的工作方式相同,但我不知道如何在语言之外做到这一点。

【问题讨论】:

【参考方案1】:

他们设置了一个 cookie(如果您使用的是 chrome,请打开开发者工具,点击应用程序 > Cookies > https://www.whistlerblackcomb.com,您将看到一个条目“季节”,当您点击该开关时会发生变化)。在服务器上,他们检查 cookie,然后根据其值改变响应。

【讨论】:

干杯戴夫,我不确定如何在 wordpress 环境中实现不同的响应,但会进一步研究。【参考方案2】:

为什么不在你的functions.php中写一个简单的函数来检查当前月份:

<?php
function is_winter()
    $month = date('m');
    if($month > 10 || $month < 3)
        return true;
    else
        return false;
    

?>

然后在您网站上的任何位置使用,例如:

<?php
if(is_winter())
    //It's Winter
else
    //It's NOT Winter

?>

【讨论】:

感谢您的回复,我不确定这将如何显示某些页面构建器模块或菜单等。如果您可以使用 if else 语句包装模块、标题等,那可以工作!这可能吗? 你可以有 2 个单独的头文件 header.php 和 header-summer.php 然后 if(is_winter())get_header();elseget_header('summer'); 或者如果你只想要一个头文件,您可以有 2 个菜单,我不确定您是如何调用菜单的,但如果您使用的是 wp_nav_menu($args);你可以有 if(is_winter())$args = $winter_argselse$args = $summer_args。您可以使用此函数添加一个 CSS 类,例如 if(is_winter())echo 'winter-class' 进行样式设置。您可以多次使用它并将任何您喜欢的东西包裹在其中。 好的,是的,这是有道理的......如果是在冬季,访问者是否可以点击“夏季”按钮,它会显示夏季标题(以及任何其他版本)? 我确定可以完成,不确定您的夏季页面是如何设置的,但可能会通过在 URL 末尾传入错误参数或查询字符串来覆盖 is_winter() 函数?winter=false 有几种方法可以做到这一点。 感谢 Paul 的指导,我将学习一些东西并开始测试。

以上是关于Wordpress 使用相同的 URL 来显示不同的内容,例如季节性网站的主要内容,如果未能解决你的问题,请参考以下文章

如何仅通过 CSS 使具有相同类的 div 链接到 Wordpress 中的不同 URL?

301 重定向不起作用 (WordPress) - [ URL 中 ?m=1 的问题]

url中的wordpress自定义帖子类型类别slug

在wordpress中使用jPlayer从不同的url播放不同的文件

Nginx位置正则表达式来处理/ sub /目录中多个WordPress站点的永久链接

带有媒体上传按钮的自定义Wordpress窗口小部件,在每个窗口小部件上插入相同的图像