Я создал свой собственный плагин и хочу добавить собственный логотип, но каким-то образом он продолжает перенаправлять меня в неправильный каталог, это ошибка, которую я получаю:
GET http://localhost/logo.png 404 (Not Found)
Вот что я пробовал до сих пор:
$plugin_dir = str_replace( $base_url, ABSPATH, $plugins_url );
$plugin_dir = plugins_url();
$plugin_dir = plugin_dir_path( __FILE__ );
$plugin_dir = WP_CONTENT_DIR . '/plugins';
$plugin_dir = plugins_url( '/', __FILE__ );
Вот мое действие добавления:
function kalbos_modifymenu() {
add_menu_page('Kalbos', //page title
'Kalbos', //menu title
'manage_options', //capabilities
'kalbos_list', //menu slug
'kalbos_list', //function
$plugin_dir . 'logo.png',
'5'
);
}
add_action('admin_menu','kalbos_modifymenu');
Однако значок работает, когда я перемещаю свой логотип в каталог wp-admin / logo.png, потому что это то место, куда идет мой путь к логотипу, даже если я установил его, перейти в папку моего плагина
это не сработало, все еще говорит, что мой каталог с файлом логотипа - localhost / logo.png
Какой путь у вашего $plugin_dir? И какой из них вы используете $plugin_dir?
это должен быть wp-content / plugins / my-plugin / bit, мой файл png просто идет localhost / logo.png
Так должно быть или это так?
ну это не по какой-то причине
Вам не хватает закрывающей скобки } в function kalbos_modifymenu()
@brasofilo да, я скопировал неправильно, у меня есть закрывающая скобка






Попробуйте добавить к /plugins другую косую черту, например: /plugins/, а также закройте кавычки в той же строке. На данный момент он у вас как 'plugins;, но правильный - '/plugins';.
Затем вы должны проверить, не что-то не так с декларациями $plugin_dir. Но имейте в виду, что ваш синтаксис в /plugins был ложным.
plugins_url будет (выделено мной):
Retrieves the absolute URL to the plugins or mu-plugins directory (without the trailing slash) or, when using the
$pathargument, to a specific file under that directory. You can either specify the$pathargument as a hardcoded path relative to the plugins or mu-plugins directory, or conveniently pass__FILE__as the second argument to make the$pathrelative to the parent directory of the current PHP script file.
Итак, следующее будет точно указывать на ваш каталог плагинов с участием конечной косой чертой:
$plugin_dir = plugins_url( '/', __FILE__ );
// results in http://localhost/wp-content/plugins/YOUR_PLUGIN/
И чтобы настроить таргетинг на логотип, используйте:
$plugin_dir . 'logo.png'
Другой пример, чтобы сделать ярлык для вашей папки изображений:
$plugin_img = plugins_url( '/images/', __FILE__ );
// results in http://localhost/wp-content/plugins/YOUR_PLUGIN/images/
В консоли я получаю ту же ошибку 404 not found. И когда я просматриваю изображение, каталог: локальный / wp-admin / logo.png
Я игнорирую $plugin_dir внутри функции
Пожалуйста, проверьте мой ответ, работает он или нет.