我的函数中有脚本。php,用于查找安装主题的站点的媒体目录。这很简单,除非站点是MU站点。在这种情况下,媒体目录基于blog\\u id。
但是,我下面的代码返回的是主站点id,而不是运行它的站点的blog\\u id。。。
function get_image_list()
{
global $current_site;
$dir=is_multisite() ? \'wp-content/blogs.dir/\'.$current_site->blog_id.\'/files/\' : \'wp-content/uploads/\';
$url=is_multisite() ? get_bloginfo(\'url\').\'/wp-content/blogs.dir/\'.$current_site->blog_id.\'/files/\' : get_bloginfo(\'url\').\'/wp-content/uploads/\';
在本例中,实际的blog\\u id为3,但是,对于$current\\u site->blog\\u id,其返回值为1
错误是。。。
cannot open wp-content/blogs.dir/1/files/
最合适的回答,由SO网友:EAMann 整理而成
比较$current_site->id
具有$current_site->blog_id
. 根据在线文件,blog_id
应该正在工作。。。但请检查是否存在重大差异(您的系统可能有插件或其他导致问题的东西)。
更新-忽略上一次$current_site
是由您的站点或网络定义的全局变量,将始终返回相同的值blog_id
作为您的网络仪表板—在本例中为“网络仪表板”;1.“;
您需要使用的是$current_blog
:
function get_image_list() {
global $current_blog;
$dir=is_multisite() ? \'wp-content/blogs.dir/\'.$current_blog->blog_id.\'/files/\' : \'wp-content/uploads/\';
$url=is_multisite() ? get_bloginfo(\'url\').\'/wp-content/blogs.dir/\'.$current_blog->blog_id.\'/files/\' : get_bloginfo(\'url\').\'/wp-content/uploads/\';
这会给你提供正确的信息。