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

时间:2018-03-04 01:15:40

标签: php wordpress plugins themes

我在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插件目录或主题目录。这样我可以根据需要将其设为单独的插件,而无需更改任何代码。

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

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用plugin_dir_path获取执行代码的当前文件的文件路径。

该名称的“插件”部分具有误导性 - 它可用于任何文件,除非您在插件的基本目录中的文件中调用它,否则不会返回插件的目录。

 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 );