WordPress/PHP-如何将变量移动到非WordPress文件


WordPress/PHP - how to move variable to non-wordpress file?

当我在functions.php中执行此代码时,我得到的路径是:

$upload_dir = wp_upload_dir();
echo $upload_dir['path'];
//Returns: /some/correct/path/

但我希望将此路径移动到位于uploads.php的自定义脚本中,在那里我无法执行wp_upload_dir();。我显然也不能include() functions.php,因为它会执行位于那里的所有其他内容。

$upload_dir变量传递给uploads.php有什么棘手的方法吗?

您只需要加载wp-load.php它将允许您访问所有wordpress函数,只需执行以下操作:

<?php
   require( '../wordpress_install_root/wp-load.php' );
   $upload_dir = wp_upload_dir();
   echo $upload_dir['path'];
?>

这是一个简单的方法。

只需在外部php文件的顶部包含以下内容:

$wp_url = str_replace('wp-content/plugins/YOUR_PLUGIN_NAME/includes', "", dirname(__FILE__));
include_once($wp_url . 'wp-load.php');

很明显,将YOUR_PLUGIN_NAME替换为插件的名称。我在Paypal和其他支付网关调用的单个文件中使用它。

有些人也使用以下内容,但我从未让它正常工作,我不确定它是否被弃用。

require_once('../../../../wp-blog-header.php');