首页 > 解决方案 > 致命错误:未捕获的错误:找不到类“INFOCUS_THEME\Inc\Menus”

问题描述

我正在尝试遵循 Imran Sayed - Codeytek Academy 的 WordPress 教程(https://www.youtube.com/watch?v=lNtw4yxEydM&list=PLD8nQCAhR3tT3ehpyOpoYeUj3KHDEVK9h)以允许 wordpress 构建菜单然后注入 html。我遵循了 turials 22、23 和 24(来自播放列表)试图在我自己的项目中使用它。

我已经复制了代码和文件夹/文件结构并添加到类、助手、单例和自动加载器中。但是每次我尝试运行我得到的代码

致命错误:未捕获的错误:在 /home/will/Local Sites/karenkeyinfocus/app/public/wp-content/themes/infocus/template-parts/header/nav.php 中找不到类“INFOCUS_THEME\Inc\Menus” 13

错误:在第 13 行的 /home/will/Local Sites/karenkeyinfocus/app/public/wp-content/themes/infocus/template-parts/header/nav.php 中找不到类 'INFOCUS_THEME\Inc\Menus'

我已将文本域从 aquila 更改为 infocus,因为这就是我在所有位置的项目中的内容。但是我完全卡住了,无法弄清楚为什么我的代码没有运行。

认为这是导致问题的代码,因为它找不到类 'INFOCUS_THEME\Inc\Menus'

<?php
$menu_class = \INFOCUS_THEME\Inc\Menus::get_instance();
$header_menu_id = $menu_class->get_menu_id( 'infocus-header-menu' );
$header_menus = wp_get_nav_menu_items( $header_menu_id );
?>

我已将其上传到我的 github 帐户并在此处发布链接,因为我认为这是最好的方法。

https://github.com/wkey1980/infocus

标签: phpwordpresswordpress-theming

解决方案


将变量声明为类时,您必须使用“new”来启动类。

$menu_class = new \INFOCUS_THEME\Inc\Menus();
//and then you can do
$menu_instance = $menu_class->get_instance();

推荐阅读