Intereting Posts

Общая папка загрузки в wordpress multisite

У меня многоязычный wordpress, где я бы хотел, чтобы все изображения, загруженные через основной сайт (mysite.com), были доступны для sub1.mysite.com и sub2.mysite.com . Все изображения должны находиться в одной папке без подкаталога (например: wp-content/uploads/image.jpg ). Я попробовал следующую функцию, но мои изображения для субдоменов загружаются в wp-content/uploads/sites/#blog_id/

 function wpse_16722_upload_dir( $args ) { $newdir = '/'; $args['path'] = str_replace( $args['subdir'], '', $args['path'] ); //remove default subdir $args['url'] = str_replace( $args['subdir'], '', $args['url'] ); $args['subdir'] = $newdir; $args['path'] .= $newdir; $args['url'] .= $newdir; return $args; } add_filter( 'upload_dir', 'wpse_16722_upload_dir' ); 

Это заставит загружать все сайты в каталог wp-content/uploads . Подкаталоги (например, year/month ) будут по-прежнему существовать (если настройка включена).

 /** * Force all network uploads to reside in "wp-content/uploads", and by-pass * "files" URL rewrite for site-specific directories. * * @link http://wordpress.stackexchange.com/q/147750/1685 * * @param array $dirs * @return array */ function wpse_147750_upload_dir( $dirs ) { $dirs['baseurl'] = network_site_url( '/wp-content/uploads' ); $dirs['basedir'] = ABSPATH . 'wp-content/uploads'; $dirs['path'] = $dirs['basedir'] . $dirs['subdir']; $dirs['url'] = $dirs['baseurl'] . $dirs['subdir']; return $dirs; } add_filter( 'upload_dir', 'wpse_147750_upload_dir' );