为什么我的自定义菜单不显示在WPTouch Pro中?

时间:2012-04-13 作者:Tilendor

我正在使用WPtouch Pro为我的wordpress安装创建一个移动主题。我已经激活了它,但我创建的自定义菜单不会显示在菜单下拉列表中。

请注意,我使用的数据库表前缀与默认的wp\\uux不同。

我怎样才能让他们出现?

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

有两种解决方案。

最简单的方法是让数据库表从wp_.

当然,这并不总是一个选项,例如多站点安装或您不控制主机环境的情况。

我查看了代码的其他部分,它们在构造SELECT查询时使用{$wpdb->base\\u prefix},但对于自定义菜单,wp\\uprefix是硬编码的。

在“管理/管理”面板中,违规行为#443。php

目前:

$menus = $wpdb->get_results( "SELECT term_taxonomy_id,a.term_id,name FROM wp_term_taxonomy as a,wp_terms as b WHERE a.taxonomy = \'nav_menu\' AND a.term_id = b.term_id" );
为了修复它,我将其更改为:

$menus = $wpdb->get_results( "SELECT term_taxonomy_id,a.term_id,name FROM {$wpdb->base_prefix}term_taxonomy as a,{$wpdb->base_prefix}terms as b WHERE a.taxonomy = \'nav_menu\' AND a.term_id = b.term_id" );
砰的一声,成功了。我已经将此发布到wptouch的支持板上,有人回应说他们会将其传递给开发人员。

此问题似乎也会影响多站点wordpress安装。

结束

相关推荐

Menu API not switching menus?

我正在使用菜单API,我想切换到其他菜单,但出于某种原因,它保留了第一个菜单这是我的密码在函数中。php add_action( \'init\', \'register_my_menus\',10 ); function register_my_menus() { register_nav_menu(\'main-navigation\', \'Main Navigation\'); } 下面是我的主题文件(header.ph