【问题标题】:Fatal Error: Uncaught Error: Class not found致命错误:未捕获的错误:找不到类
【发布时间】:2018-01-25 15:36:04
【问题描述】:

我正在尝试将新皮肤(页面布局)添加到 Wordpress 插件可视化产品配置器 - Nom Lava 皮肤添加

我复制/重命名了现有皮肤,在插件文件夹中找到了所有使用它的实例并添加了代码行。我遵循的步骤:

**1。在 /Skins 文件夹中,我有一个新复制的 php 文件 -

class-vpc-In-browband-skin.php

**

我重命名了班级:-

VPC_In_browband_Skin {

所以它现在的代码与其他两个皮肤相同,但文件名不同,类名也发生了变化。

**2。我添加了一行代码,要求该文件包含 php 脚本

vpc-Ins.php

**

require plugin_dir_path( __FILE__ ) . 'includes/class-vpc-lns.php'; 

require plugin_dir_path( __FILE__ ) . 'skins/class-vpc-ln-left-sidebar-skin.php';  
require plugin_dir_path(__FILE__ ) . 'skins/class-vpc-ln-right-sidebar-skin.php';  
require plugin_dir_path( __FILE__ ) . 'skins/class-vpc-In-browband-skin.php';

我所做的只是在前两个皮肤上添加了另一行,它们工作正常。

**3。我在这个文件上加了一行:-

类-vpc-ins-admin.php

**

public function vpc_custom_skin ($skins){
    $skins["VPC_ln_browband_Skin"] = "Browband Skin";
    $skins["VPC_ln_left_sidebar_Skin"] = "Lom-Nava Left Sidebar";
    $skins["VPC_ln_right_sidebar_Skin"] = "Lom-Nava Right Sidebar";

    return $skins;
}

我在本地主机的dreamweaver 上创建了一个站点,并搜索其他两个皮肤的每个实例

VPC_In_left_sidebar_Skin 和 VPC_In_right_sidebar_Skin

在 Add on Skin 文件或主配置器页面中没有其他实例,从逻辑上讲,如果我遵循完全相同的格式,它肯定会出现。

我可以将皮肤布局添加到我的配置中,它正确显示为 Browband Skin,但是当我开始显示配置器时,我得到了这个

致命错误:未捕获的错误:在中找不到类“VPC_ln_browband_Skin” C:\xampp\htdocs\pinknew\wp-content\plugins\visual-product-configurator\public\class-vpc-public.php:194

第 194 行错误指的是$editor = new $skin($product_id, $config_id);

如果我将皮肤更改为其他两个皮肤中的任何一个,左侧/右侧边栏,它可以工作。

我尝试将 php 脚本添加到默认皮肤所在的主配置器文件/文件夹中,但我收到一条消息 cannot redeclare.. 这肯定表明它正在查找类?

我很欣赏这对于堆栈溢出贡献者来说可能太过分了,但我希望那里的人可能熟悉这个产品并能够告诉我我在这里缺少什么..(软件提供商回答支持是“很抱歉,当用户对我们的插件进行更改时,我们不支持。)我完全被难住了。

【问题讨论】:

  • 很难说,但问题是在class-vpc-public.php文件中找不到VPC_In_browband_Skin类,可能是很多问题造成的,一个错字,或者可能是 Class 文件没有加载。
  • 问题是当我将类文件放在主插件中时,它说不能重新声明类,就好像它已经在原始位置找到它一样?所以我把它从原始文件中取出,只留在主插件文件夹中,然后我们又找不到它了?
  • 我无法确定问题的根源,因为我需要通过插件,而且说实话。
  • 是的,我希望是这样,无论如何谢谢你的回答,我不得不希望使用这个插件的人可以说“啊哈”并帮助我,我真的被困住了跨度>
  • 其实你已经给我答案了!!做得好!如果你仔细看VPC_有一个不同的,我以为一个字母我实际上是一个数字1(一)。

标签: php wordpress class


【解决方案1】:

我已经回答了这个问题而不是删除它,因为这似乎是一个简单的错误,但如果其他人使用这个插件,看起来像一个字母的我实际上是一个数字 1(一个)竖起大拇指 @Mehdi Bouyna 让我接受仔细看看!

你可以看到我的观点 2. 代码部分,那里更清晰,文件标题和其他错误实例不是那么清楚。

我把“I”改成了“1”,问题解决了!

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 2018-09-06
    • 2018-05-11
    • 2020-11-09
    • 2020-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多