如何包含相对于文件目录的文件



我正在像wp-content/themes/my-theme/inc/my-plugin这样的WordPress主题中构建一个小插件。

我想知道如何在此文件夹中包含相对于主插件文件wp-content/themes/my-theme/inc/my-plugin/my-plugin.php的文件。

例如,在my-plugin.php中,我需要包含wp-content/themes/my-theme/inc/my-plugin/css/style.css

我正在寻找类似wp_enqueue_style( 'my-plugin-style', plugins_url( '/css/style.css', __FILE__ ) );的东西,但我希望它仅相对于my-plugin.php目录,而不是相对于WordPress插件目录或主题目录。这样,如果需要,我也可以将其设置为单独的插件,而无需更改任何代码。

请不要问我为什么要将其构建到主题中,或者它应该是一个单独的插件。只是在寻找可能的解决方案。

谢谢!

可以使用

plugin_dir_path获取执行代码的当前文件的文件路径。

名称的"plugin"部分具有误导性——它可以用于任何文件,并且不会返回插件的目录,除非您在插件基目录中的文件中调用它。

 plugin_dir_path( dirname( __FILE__ ) ) . 'css/style.css';

下面是一个示例,说明我将如何在任何地方工作的脚本排队。

wp_enqueue_script( 'script-name', plugin_dir_url( __FILE__ ) . 'js/script-name.js', array( 'jquery' ), '1.0', true );

相关内容

最新更新