【问题标题】:Show Different Wordpress Menus in Different Countries在不同国家显示不同的 WordPress 菜单
【发布时间】:2016-01-24 07:08:13
【问题描述】:

我想根据用户的位置分配不同的菜单。我已经安装了检测用户国家代码的 GeoIP 检测插件。我在 functions.php 中分配了变量 $userInfo = geoip_detect2_get_info_from_current_ip() 并验证了它是否有效。我还创建了两个不同的菜单,称为“主菜单”和“主菜单国际”。

默认情况下,菜单“国际主菜单”(ID 303) 分配给主题位置“主菜单”和“主菜单 - 移动”。

但是当 isoCode = "TH" 时,如何将菜单“主菜单”(ID 51)分配给这两个主题位置?

这是我目前所拥有的。我需要帮助弄清楚该代码的放置位置,以及如何对其进行编辑以使其将菜单分配给“主要”和“移动”位置。

<?php
    if ( $userInfo->country->isoCode == 'TH' ){
        wp_nav_menu(array('menu_id' => 51)); //Main Menu ID
    } else {
        wp_nav_menu(array('menu_id' => 303)); //Main Menu International ID
    }
?>

编辑:越来越近(我认为)。我用下面的代码替换了原始代码,但现在无论国家/地区或 WP 管理面板中启用了什么菜单,都会显示具有较低 ID 的菜单。无论我更改代码中的哪些参数,它仍然显示 ID 为 51 的菜单。

<?php
    if ( $userInfo->country->isoCode == 'TH' ){
        wp_nav_menu(array(
        'menu_id'       => 51,
        'container'     => false,
        'items_wrap'    => '%3$s',
        'depth'         => 0,
        'walker'        => new FlatsomeNavDropdown)); //Main Menu
    } else {
        wp_nav_menu(array(
        'menu_id'       => 303,
        'container'     => false,
        'items_wrap'    => '%3$s',
        'depth'         => 0,
        'walker'        => new FlatsomeNavDropdown)); //Main Menu International
}
?>

我想知道是否需要将我在 menu_id 中使用的数字替换为菜单 ID 的文本块。但我似乎找不到这个。

【问题讨论】:

  • 您需要将 IF 语句包裹在当前菜单代码周围,然后将新的菜单代码放入 ELSE 语句中。

标签: php wordpress


【解决方案1】:

这取决于您要将这些菜单放在哪里。如果你想把它们放在你的标题中,那么你的主题文件'header.php'就是你要去的地方。如果你想要它在侧边栏,然后去 sidebar.php (或等效的),测试将运行良好

【讨论】:

  • 在标题中。当我将代码放入 header.php 时,正确的菜单项出现在标题上方的屏幕左上角,但实际菜单不受影响。
  • 因为您必须删除旧的菜单代码。在标题中查找 wp_nav_menu 以删除旧菜单。
  • header.php 中 wp_nav_menu 的所有实例看起来都类似于: 'top_bar_nav', .. .这是你说我需要删除的代码吗?
  • 是的。如果标题中有很多菜单,请尝试逐行注释 wp_nav_menu 行,然后查看要删除哪个菜单。
  • 从头开始。现在它只会显示 ID 较低的菜单,无论国家/地区或管理面板中启用了哪个菜单。
【解决方案2】:

菜单代码看起来不错,可能是地理定位插件失败了。您可以尝试使用Geotargeting WordPress,我多次使用它来实现您想要做的事情。

还有一个优点是通过使用 javascript + ajax 支持缓存插件

【讨论】:

    猜你喜欢
    • 2020-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多