对空值调用成员函数get_page_permastruct()

时间:2018-04-02 作者:beginner

我正在尝试在我的主题中为已经存在的导航菜单添加一个新的菜单项,我正在使用这个答案的某些部分How to Hard Code Custom menu items

我在插件中直接使用此代码

wp_update_nav_menu_item(2, 0, array(
    \'menu-item-title\' =>  __(\'Home\'),
    \'menu-item-classes\' => \'home\',
    \'menu-item-url\' => home_url( \'/\' ), 
    \'menu-item-status\' => \'publish\'));
但它给了我以下错误

由于文件C:\\xampp\\htdocs\\wordpress\\wp includes\\link template的第357行出现错误,您的PHP代码更改被回滚。php。请修复并再次尝试保存

在null上调用成员函数get\\u page\\u permastruct()

2 个回复
SO网友:beginner

将其添加到“init”动作挂钩中是可行的

function update_menu_custom(){
wp_update_nav_menu_item(2, 0, array(
    \'menu-item-title\' =>  __(\'Home\'),
    \'menu-item-classes\' => \'home\',
    \'menu-item-url\' => home_url( \'/\' ), 
    \'menu-item-status\' => \'publish\'));
}

add_action(\'init\',\'update_menu_custom\');
但它仍然不能像预期的那样工作,它添加了太多名为home的菜单项,但这是另一个问题

SO网友:jimver04

wp\\u update\\u nav\\u menu\\u项目应与register\\u activation\\u hook一起使用,并遵循以下说明。在您的功能中。插件或主题的php或始终执行的任何其他php添加:

register_activation_hook(__FILE__,\'addnav_menu_init\');


function addnav_menu_init(){
     wp_update_nav_menu_item(2, 0, array(
    \'menu-item-title\' =>  __(\'Home\'),
    \'menu-item-classes\' => \'home\',
    \'menu-item-url\' => home_url( \'/\' ), 
    \'menu-item-status\' => \'publish\'));
}
然后停用并重新激活主题或插件,以便将此页面添加到菜单中,否则将无法工作。

结束

相关推荐

更新页面(update-core.php)和插件页面(plugins.php)恢复到主页

我在Wordpress网站的管理视图中收到通知,我有一个网站和插件的可用更新(在我的网络管理仪表板中,在“插件”和“更新”旁边的红色圆圈中有“1”)。。。但当我尝试同时转到“更新”页和;插件页面,是否显示主页?此时的URL为http:///wp-admin/network/update-core.php/和http:///wp-admin/plugins.php/分别地因此,我永远无法到达真正的更新页面,也无法更新我的Wordpress或插件。如何显示更新或插件页面?