-
作者帖子
-
真是快被 WordPress 多站点头像的问题折腾疯了,好在解决了。
这里说下解决方案:
头像互通,数据互通,另外用户资料也要互通,采用的插件是 Ultimate Member,
我们改了 WordPress 的自定义上传路径,但是出现了比较恼火的问题,头像无法上传,反复测试最后发现是文件夹权限有问题,换了种方式,调整了下官方可以上传了,但是有出现了个问题,数据没法共享到其他站点。
特别是我们论坛,无法上传头像,让人看上去真心不爽,都不知道是谁回复的谁。
因为启用的是子域名,所以服务器需要开启
CORS 是跨域资源共享 ,添加后,果然,可以上传了。
但是论坛还是没有显示出来,接下来,
检查了下我们添加此上传自定义路径问题,发现会重新生成一个重复的目录,这样调用不到原来上传的头像,想了想还是路径不对,改了配置文件,发现也不对,最后想了下,有可能的就是 functions.php 文件里面添加的自定义配置代码不对,
Google 找了下发现了以下代码,添加替换掉原来的,哈,成了!
//添加多站点媒体库上传文件地址自定义功能 add_filter( 'upload_dir', 'upload_dir_filter' ); function upload_dir_filter( $upload ) { $dir = $_SERVER['DOCUMENT_ROOT']; $upload_dir = $dir['basedir'] . '/uploads/date'; $upload_url = $dir['baseurl'] . '/uploads/date'; wp_mkdir_p( $upload_dir ); //WordPress will check if the dir exists and can write to it. $upload['path'] = $upload_dir; $upload['url'] = $upload_url; return $upload; }
仅以此文纪念这一个多月的苦恼,无助,。
O(∩_∩)O~ 哈哈,说了有头像了我才来。
快哭了啊,看见你真好。
真心感叹 WordPress 开源的强大,所有的插件,功能都可以互通。
参考地址:https://devquestion.tk/29941490/customize-upload-folder-for-sites.html
继续继续,总算是解决了一个难题。
时间:2015-10-29 23:48:45
记录:ultimate member 多站点头像上传路径重复,解决方案如下:
将:/wp-content/plugins/ultimate-member/core 中的文件 um-filters-files.php 打开
修改
$um_dir = 'ultimatemember/';
为
$um_dir = './';
如下:
add_filter('um_upload_basedir_filter','um_multisite_urls_support', 99 ); add_filter('um_upload_baseurl_filter','um_multisite_urls_support', 99 ); function um_multisite_urls_support( $dir ) { if ( is_multisite() ) { // Need to the work if ( get_current_blog_id() == '1' ) return $dir; $split = explode('sites',$dir); $um_dir = '/'; $dir = $split[0] . $um_dir; } return $dir;
做为补充,后续升级后参考使用,直到找到最佳解决方案。
别老熬夜,该睡了。
马上就去,明天去看电影吧,休息一下。
时间:2015-10-30 00:35:15
粘贴另一段自定义路径代码:
//添加媒体库上传文件地址自定义功能 add_filter( 'upload_dir', 'custom_upload_dir' ); function custom_upload_dir( $uploads ) { $dir = $_SERVER['DOCUMENT_ROOT']; $upload_path = '/data/web/img.feibisi.com/'; $upload_url_path = 'https://img.feibisi.com'; if ( empty( $upload_path ) || 'wp-content/uploads' == $upload_path ) { $uploads['basedir'] = WP_CONTENT_DIR . '/uploads'; } elseif ( 0 !== strpos( $upload_path, ABSPATH ) ) { $uploads['basedir'] = path_join( ABSPATH, $upload_path ); } else { $uploads['basedir'] = $upload_path; } $uploads['path'] = $uploads['basedir'].$uploads['subdir']; if ( $upload_url_path ) { $uploads['baseurl'] = $upload_url_path; $uploads['url'] = $uploads['baseurl'].$uploads['subdir']; } return $uploads; }
可添加至主题的 functions.php 中,修改 $upload_path 、 和 $upload_url_path 为你的文件夹和域名。
不错不错,不过还差我那么一点点。
-
作者帖子
- 哎呀,回复话题必需登录。