Я прочитал много веток о своей проблеме, но не могу найти правильное решение.
Я написал свой собственный плагин для WordPress и использовал для него composer. Локально это работает нормально, но когда я загружаю свой проект на мой веб-сервер, я получаю сообщение об ошибке о классе не найден.
MyOwnHooks не найден в /wp-content/plugins/my-own-hooks/myownhooks.php.
Каталог моего репозитория:
- wp-content /
- plugins /
- my-own-hooks /
- vendor /
- inc /
- php /
- MyOwnHooks. php
- GoogleContactsHelper. php
- MyContact. php
- MyPhoneNumber. php
- myownhooks. php
/wp-content/plugins/my-own-hooks/myownhooks.php
:
/**
* Plugin Name: MyOwnHooks
*/
require_once ("vendor/autoload.php");
futur22\MyOwnHooksPlugin\MyOwnHooks::runner ();
/wp-content/-plugin/my-own-hooks/inc/php/MyOwnHooks.php
:
<?php
namespace futur22\MyOwnHooksPlugin;
class MyOwnHooks {
public function init() {
\add_action ( 'wp_head', array (
$this,
'moh_incomplete_profile_script_code'
) );
}
public static function runner() {
$pluginx = new MyOwnHooks ();
$pluginx->init ();
}
public function moh_incomplete_profile_script_code() {
// print something
}
}
/wp-content/plugins/my-own-hooks/composer.json
:
{
"require" : {
"rapidwebltd/php-google-people-api" : "^1.0"
},
"autoload" : {
"psr-4" : {
"futur22\\MyOwnHooksPlugin\\" : "inc/php"
}
}
}
Заблуждение, что он работает локально с XAMPP, но не в системе Linux. Каждый раз, когда я изменяю код и извлекаю его из репозитория, я удаляю composer .lock и каталог поставщика для запуска composer install
.
XAMPP и рабочий сервер имеют PHP 7.3.x.
Что здесь не так?
Спасибо за помощь.