php - 致命错误:未捕获的错误:找不到类“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 帐户并在此处发布链接,因为我认为这是最好的方法。
解决方案
将变量声明为类时,您必须使用“new”来启动类。
$menu_class = new \INFOCUS_THEME\Inc\Menus();
//and then you can do
$menu_instance = $menu_class->get_instance();
推荐阅读
- animation - 全屏封面/模式的替代动画 - iOS 14
- ios - 我如何更改 stackView 中的元素或获取元素并更改
- vue.js - 是否有将 vuejs 集成到现有项目文件夹的简单方法?
- javascript - 输入错误,试图在 TSX 中显示一些 onclick 但未定义
- excel - 使用变量处理非连续范围的正确语法
- java - CallableStatement - InOut 参数返回空值
- flutter - 颤动中的层
- c++ - 我们以哪种方式将新元素添加到排序列表中
- flutter - Flutter如何下载pdf文件并将其存储在我的手机中
- html - HTML - 如何锚点跳转到显示:无元素?