在自定义WordPress插件中加载图像

时间:2018-04-17 09:00:45

标签: php wordpress

我创建了我的自定义插件,并希望添加自定义徽标,但不知怎的,它一直将我重定向到错误的目录,这是我得到的错误:

  

获取http://localhost/logo.png 404(未找到)

这是我到目前为止所尝试的内容:

$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 dir时,图标正在工作,因为即使我将其设置为我的插件文件夹,我的徽标路径仍然存在

2 个答案:

答案 0 :(得分:0)

尝试向/plugins添加其他斜杠:/plugins/并在同一行上关闭引号。目前,您拥有'plugins;,但正确的是'/plugins';

答案 1 :(得分:0)

plugins_url(我的重点):

  

检索插件或mu-plugins目录的绝对URL(不带尾部斜杠),或者在使用$path参数时,检索该目录下的特定文件。您可以将$path参数指定为相对于插件或mu-plugins目录的硬编码路径,或方便地传递__FILE__作为第二个参数,使$path相对于当前PHP脚本文件的父目录

因此,以下内容将指向您的插件目录 结尾斜杠:

$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/