Массовая регистрация медиафайлов в библиотеке
-
Доброго времени суток, уважаемые форумчане!
Необходимо зарегистрировать медиафайлы в библиотеке после того, как я загрузил их в папку /uploads по ФТП.
Воспользовался плагинами:
Media from ftp (не работает). На старых версиях WP работал корректно.
Add from server работает, но очень медленно. Файлов около 50 000Как можно массово зарегистрировать медиафайлы иными способами?
В одном из форумов нашел интересный код, но он также не заработал на свежей версии WP:
function thisismyurl_add_media_to_library() { global $wpdb; $file_count = 0; /* if the user isn't an admin user, don't do anything */ if ( ! current_user_can( 'manage_options' ) ) return; /* (you'll want to reset this to your path */ $file_path = ABSPATH . '/import/path/to/files/'; /* get a list of all files in a specific directory */ $files = glob( $file_path . '*.jpg'); if ( ! empty( $files ) ) { /* now we loop the files */ foreach ( $files as $file ) { unset( $post_id ); /* it's likely that a server will time out with too many files so we're going to limit it to 999 new files */ if ( $file_count < 999 ) { $filename = str_replace( $file_path, '', $file ); /* check to see if the image already exists */ $post_id = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_title = %s", $filename ) ); /* the file does not exist */ if ( empty( $post_id ) ) { /* only count new files when checking for the file count */ $file_count++; $attachment = array( 'guid' => $wp_upload_dir['url'] . '/' . basename( $filename ), 'post_mime_type' => wp_check_filetype( basename( $file ), null ), 'post_title' => preg_replace( '/\.[^.]+$/', '', basename( $filename ) ), 'post_content' => '', 'post_status' => 'inherit' ); wp_insert_attachment( $attachment, $filename ); /* this is commented out for now, but if you uncomment it, the code will delete each file after it's been inserted */ /* if ( $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_title = %s", $filename ) ) ) unlink( $file ); */ } /* if */ } } /* foreach */ } /* if */ } add_action( 'wp_head', 'thisismyurl_add_media_to_library' );
Добавлял его в файл functions.php темы, а также пробовал создать php файл и загрузил в папку mu-plugins.
Заранее благодарю Вас за ответы.
Просмотр 3 ответов — с 1 по 3 (всего 3)
Просмотр 3 ответов — с 1 по 3 (всего 3)
- Тема «Массовая регистрация медиафайлов в библиотеке» закрыта для новых ответов.