WordPress - 将代码移动到特定于站点的插件

WordPress - Moving code to a site-specific plugin

我已经使用一些教程将一些功能添加到自定义登录屏幕的 functions.php 文件中。

这是更改徽标的一项功能的代码:

/**
 * Custom Login Logo
 */
function custom_login_logo() {
    echo '<style type="text/css">
        h1 a { background-image:url('. get_bloginfo( 'template_directory' ) .'/media/login-logo.png) !important; }
    </style>';
}

add_action('login_head', 'custom_login_logo');

当我在后端创建一个特定于站点的插件以便我可以将其从 functions.php 文件中取出时,代码不起作用。我知道这是因为当它位于主题文件夹中时,当我指向图像的 url 时,它会理解我指向的位置。

我想知道一旦图像位于我自己的插件文件夹中,我应该如何引用它。我试过使用 plugins_url 函数并尝试了一下,但似乎无法理解。

如果我没说清楚,我已将下面的代码移动到 plugins 文件夹内的新文件夹中。我已经在仪表板上激活了这个插件,我正在尝试让图像 url 正常运行。

感谢您的帮助。

使用 plugin_dir_url() 更新从主题到插件文件夹的图像路径。

示例:

h1 a { background-image: url(' . plugin_dir_url( __FILE__ ) . 'media/login-logo.png) !important; }

此函数返回的 URL 包含尾部斜杠,因此请务必考虑到这一点。显示的 URL 将是 http://{DOMAIN.COM}/wp-content/plugins/{PLUGIN-NAME}/media/login-logo.png.