Pergunta sobre como corrigir o WordPress do WordPress: Classe não encontrada após o carregamento do site local para o site

Um usuário perguntou ?

Oi pessoal, estou com um problema com meu plugin depois que fiz o upload para o site está tudo bem no meu servidor wamp local, mas depois de fazer o upload quando tento ativar o plugin recebo esses erros:

Fatal error: Uncaught Error:
Class 'IncBaseActivate' not found in /home/vahidsapp/public_html/wp-content/plugins/aa-test/aa-test.php:34 
Stack trace: #0 /home/vahidsapp/public_html/wp-includes/class-wp-hook.php(286): activate_aa_test('') 
#1 /home/vahidsapp/public_html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array) 
#2 /home/vahidsapp/public_html/wp-includes/plugin.php(465): WP_Hook->do_action(Array) 
#3 /home/vahidsapp/public_html/wp-admin/plugins.php(177): do_action('activate_aa-tes...') 
#4 {main} thrown in /home/vahidsapp/public_html/wp-content/plugins/aa-test/aa-test.php on line 34

Reproduzo o problema em um plugin vazio que contém apenas classes de habilitar/desabilitar:

inc/base/Activate.php:

<?php
namespace IncBase;

class Activate
{
    public static function activate()
    {
        flush_rewrite_rules();
    }
}

semelhante para a classe de inativação.

e o arquivo principal na pasta de plugins raiz é:

<?php

    /**
     * @package AATest
     */

    /*
    Plugin Name: AATest
    Plugin URI: 
    Description: This is a test
    Version: 1.0.0
    Author: Vahid
    Author URI: 
    License: GPLv2 or later
    Text Domain: aa-test
    */

    if( ! defined('ABSPATH'))
        die;

    if( file_exists( dirname(__FILE__) . '/vendor/autoload.php'))
        require_once plugin_dir_path(__FILE__) . '/vendor/autoload.php';

function activate_aa_test()
{
    IncBaseActivate::activate();
}

function deactivate_aa_test()
{
    IncBaseDeactivate::deactivate();
}

register_activation_hook(__FILE__, 'activate_aa_test');
register_deactivation_hook(__FILE__, 'deactivate_aa_test');

e finalmente o composer.json

{
    "name": "azadiapp/aa-test",
    "description": "test",
    "type": "project",
    "license": "GPL",
    "authors": [
        {
            "name": "test",
            "email": "[email protected]"
        }
    ],
    "minimum-stability": "dev",
    "require": {},
    "autoload": {
        "psr-4": {"Inc": "./inc"}
    }
}

Eu também tentei copiar a pasta do fornecedor. Eu tentei usar o compositor init, o composer install, o composer dump-autoload, mas eles não resolveram o problema.

(@bcworkz)

1 ano, 7 meses atrás

O PHP pode precisar ser atualizado para hospedar seu servidor. PHP pode ter idade suficiente para não suportar namespaces OO

(@vahid671)

1 ano, 7 meses atrás

@bcworkz

Eu tentei no PHP 7.3.7 e 7.2.20 também, mesmo problema …

PHP 7.3.7 (esquerda) Zend Engine v3.3.7 com PHP carregado com ionCube + ionCube24 v10.3.7

Esta resposta foi modificada há 1 ano e 7 meses.

(@vahid671)

1 ano, 7 meses atrás

Encontrei o problema que estou tendo ao adicionar o mapa de classe ao composer.json

"require": {},
    "config": {
        "optimize-autoloader": true
    },
    "autoload": {
        "psr-4": {"Inc": "./inc"},
        "classmap": ["inc/"]
    }

Isto foi útil?

0 / 0

Deixe uma resposta 0

O seu endereço de email não será publicado. Campos obrigatórios são marcados *