在插件中使用REQUIRED_ONCE?

时间:2011-11-30 作者:Shoebox

这两段代码之间有什么区别,我应该使用哪一段作为WordPress插件?

require_once(dirname(__FILE__).\'/inc/canagan_admin_functions.php\');
require_once( \'/inc/canagan_admin_functions.php\' );

1 个回复
最合适的回答,由SO网友:chrisguitarguy 整理而成

第一个就像是说。。。

包括在中找到的文件inc 目录,位于此文件所在的目录上方。

第二种说法是。。。

在服务器根目录中(/) 查看inc 的文件夹canagan_admin_functions.php 并将其包括在内。

第一个可以工作,第二个不行。在第二个中,您将查看整个文件系统的根,您的文件肯定不会在那里。

作为补充,每当我启动一个将跨越多个文件的插件,和/或将CSS或JS文件排队时,我通常会设置一些常量来帮助我。这是一个example.

<?php
define( \'CD_PLUGIN_PATH\', plugin_dir_path( __FILE__ ) );
define( \'CD_PLUGIN_URL\', plugin_dir_url( __FILE__ ) );
plugin_dir_pathplugin_dir_url 很好,因为它们总是返回带有尾部斜杠的路径/URL。

然后,为了包含/需要文件,我使用常量。不必打电话dirname(__FILE__) 在每个include上。

然后,您可以使用常量包含文件。。。

require_once( CD_PLUGIN_PATH . \'path/to/file.php\' );
或将脚本/样式排队。。。

<?php
add_action( \'wp_enqueue_scripts\', \'wpse35088_enqueue\' );
function wpse35088_enqueue()
{
    wp_enqueue_script( \'wpse35088-script\', CD_PLUGIN_URL . \'path/to/script.js\' );
}

结束