是否部分刷新定制器中的菜单不起作用?

时间:2016-04-19 作者:Marcc1213

WordPress 4.5应该可以在自定义程序中实时刷新菜单,但我无法让它工作。

如果我重新排序菜单(在customizer中),在执行手动刷新之前,我看不到任何更改。但是,如果单击“菜单位置”复选框以禁用菜单,然后再次单击以重新启用,则屏幕会刷新。尽管这样做可以保存菜单,但这并不理想。或者这就是预期的功能?

单击“保存并发布”也不会触发刷新。由于customizer中的其他更改是实时显示的,因此这似乎不一致。

有人用过这个吗?

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

我发现了这个问题——这很愚蠢,但我希望这能帮助别人。

我使用“menu”参数设置了菜单,如下所示:

 $args = array(
            \'menu\'   => "Primary", 
  );
要使选择性刷新正常工作,必须使用“theme\\u location”参数,如下所示:

 $args = array(
            \'theme_location\'   => "primary", 
        );

SO网友:Nabeel Khan

选择性刷新仅适用于在customizer中选择以导致自动刷新的项目,如下所述:

https://make.wordpress.org/core/2016/02/16/selective-refresh-in-the-customizer/

这里:

https://make.wordpress.org/core/2016/03/22/implementing-selective-refresh-support-for-widgets/

因此,如果主题开发人员没有包括此支持,那么您可能不会看到它在保存和发布菜单项时自动刷新。

相关推荐

用标准的干净文件替换NAV-menus.php文件?

我是一个自学成才的wordpress网站设计师,请原谅我的无知。我为一个客户开发的几个网站最近被一个印尼黑客组织破坏了(很有趣!)。客户端没有更新wordpress安装和其他一些危及安全的事情。遗憾的是,没有网站的清理备份。网络主机给了我一个包含恶意软件扫描结果的文本文件。看起来很多受影响的文件都是导航菜单。网站的php文件。文本文件中显示的扫描结果示例如下:“[主目录]/[网站文件夹名称]/wp includes/nav-menu.php:SL-php-INJECTOR-1-ejw.UNOFFICIAL