Перейти к основному содержанию

Дополнение WP Media Folder: интеграция OneDrive Personal

1. Вход в OneDrive из WP Media Folder


Чтобы подключить учетную запись OneDrive Personal в WP Media Folder, перейдите в меню Настройки > WP Media Folder > Облако & Выгрузка медиа > Коннекторы облака > раздел OneDrive Personal

Сначала вы можете установить миниатюру для изображений.

Создать миниатюры изображений: Эта опция будет генерировать миниатюры изображений и сохранять их в вашем облачном аккаунте. Миниатюры изображений будут создаваться согласно WordPress Thing настройкам и использоваться при вставке изображений (для повышения производительности)

 

generate-image-thumbnail-

 

Пожалуйста, выберите ваш Тип ссылки на медиа:

  • Публичная ссылка: создать публично доступную ссылку для ваших файлов и установить соответствующие права на облачные файлы (Общая ссылка)
  • Приватная ссылка: AJAX ссылка, скрыть облачную ссылку, чтобы сохранить оригинальные права доступа к вашему файлу 

 

media-link-type

 

Then you can connect to OneDrive account with Automatic mode or Manual mode:

Автоматический режим

From now, you can save a lot of time while connecting to the OneDrive server. At OneDrive Personal section and just click on Connect OneDrive button at the right corner.

 

connect-auto-onedrive-personal

 

Затем выполните следующие шаги, чтобы завершить подключение.

 

connected-auto-onedrive-personal

 

Это так быстро, верно? Да, мы знаем это. :) Соединение должно быть успешным ☺ Если оно успешно, вы можете создавать папки и подпапки в OneDrive и в WP Media Folder — всё будет синхронизировано автоматически!

 

Ручной режим

 Из‑за технических изменений в OneDrive режим «Manual» больше не поддерживается для личных аккаунтов. 

 

2. Как это работает? Что я могу сделать с OneDrive?

Как это работает? 

WP Media Folder создаст корневую папку на вашем OneDrive с именем сайта.

 

OneDrive-в-WordPress Thing-и-WordPress Thing-в-OneDrive

 

All the folders and sub-folders added in WP Media Folder OneDrive will be synchronized under this folder (WP Media Folder - {sitename}). And vice versa, all your media from that root folder on OneDrive will be synchronized to your Media library on WordPress Thing.


Какие направления синхронизации?

Это работает в обоих направлениях! Вы можете добавить файл в OneDrive и увидеть его в WP Media Folder, или добавить файл в WP Media Folder и увидеть его в OneDrive. Это также означает, что вы можете управлять файлами WP Media Folder с вашего компьютера, используя программное обеспечение синхронизации OneDrive.

Интеграция WP Media Folder с OneDrive позволяет выполнять 3 типа действий с вашими медиа:

  • Импортировать медиа OneDrive в WP Media Folder (работает автоматически после подключения)
  • Импортировать медиа OneDrive в медиатеку WordPress Thing

 

WordPress Thing-Импорт-Медиа-OneDrive

 

  • Вставьте медиа OneDrive в ваш контент напрямую. В этом случае медиа будет загружено в ваш контент из OneDrive, а не с вашего сервера.

 

вставить-OneDrive-изображение

 

 

 

 

 

 

Duplicate entry '49263e4176ff53f5ff1efff72d6df4fb-ru' for key 'bk24_linguise_urls.hash_translation' (500 Whoops, looks like something went wrong.)

mysqli_sql_exception

HTTP 500 Whoops, looks like something went wrong.

Duplicate entry '49263e4176ff53f5ff1efff72d6df4fb-ru' for key 'bk24_linguise_urls.hash_translation'

Exception

mysqli_sql_exception

Show exception properties
mysqli_sql_exception {#896
  #sqlstate: "23000"
}
  1. foreach ($urls as $translation => $source) {
  2. $elements[] = '("'.mysqli_real_escape_string($this->_database, Request::getInstance()->getLanguage()).'", "'.mysqli_real_escape_string($this->_database, $source).'", "'.mysqli_real_escape_string($this->_database, $translation).'", "'.md5($source).'", "'.md5($translation).'")';
  3. }
  4. $query .= implode(',', $elements);
  5. $query .= ' ON DUPLICATE KEY UPDATE source=VALUES(source), translation=VALUES(translation), hash_source=VALUES(hash_source), hash_translation=VALUES(hash_translation)';
  6. $this->_database->query($query);
  7. }
  8. public function removeUrls($urls)
  9. {
  10. $query = 'DELETE FROM '.mysqli_real_escape_string($this->_database, $this->_database_table_urls).' WHERE (hash_source) IN ';
  1. foreach ($urls as $translation => $source) {
  2. $elements[] = '("'.mysqli_real_escape_string($this->_database, Request::getInstance()->getLanguage()).'", "'.mysqli_real_escape_string($this->_database, $source).'", "'.mysqli_real_escape_string($this->_database, $translation).'", "'.md5($source).'", "'.md5($translation).'")';
  3. }
  4. $query .= implode(',', $elements);
  5. $query .= ' ON DUPLICATE KEY UPDATE source=VALUES(source), translation=VALUES(translation), hash_source=VALUES(hash_source), hash_translation=VALUES(hash_translation)';
  6. $this->_database->query($query);
  7. }
  8. public function removeUrls($urls)
  9. {
  10. $query = 'DELETE FROM '.mysqli_real_escape_string($this->_database, $this->_database_table_urls).' WHERE (hash_source) IN ';
  1. public function saveUrls($urls) {
  2. if (empty($urls)) {
  3. return;
  4. }
  5. return $this->_database->saveUrls($urls);
  6. }
  7. public function removeUrls($urls) {
  8. if (empty($urls)) {
  9. return;
  1. if (isset($result->url_translations)) {
  2. Defer::getInstance()->defer(function() use ($result) {
  3. $new_urls = $result->url_translations;
  4. $new_urls = get_object_vars($new_urls);
  5. Database::getInstance()->saveUrls((array)$new_urls);
  6. });
  7. }
  8. if (isset($result->urls_untranslated)) {
  9. Defer::getInstance()->defer(function() use ($result) {
Translation->Linguise\Script\Core\{closure}()
  1. }
  2. public function finalize()
  3. {
  4. foreach ($this->_actions as $action) {
  5. call_user_func($action['function'], $action['args']);
  6. }
  7. }
  8. }
  1. Helper::prepareDataDir();
  2. // Finalize defer actions on shutdown
  3. // @codeCoverageIgnoreStart
  4. register_shutdown_function(function() {
  5. Defer::getInstance()->finalize();
  6. Database::getInstance()->close();
  7. });
  8. // @codeCoverageIgnoreEnd
  9. }
Processor->Linguise\Script\Core\{closure}()

Stack Trace

mysqli_sql_exception
mysqli_sql_exception:
Duplicate entry '49263e4176ff53f5ff1efff72d6df4fb-ru' for key 'bk24_linguise_urls.hash_translation'

  at /var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Databases/Mysql.php:170
  at mysqli->query()
     (/var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Databases/Mysql.php:170)
  at Linguise\Script\Core\Databases\Mysql->saveUrls()
     (/var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Database.php:232)
  at Linguise\Script\Core\Database->saveUrls()
     (/var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Translation.php:119)
  at Linguise\Script\Core\Translation->Linguise\Script\Core\{closure}()
  at call_user_func()
     (/var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Defer.php:42)
  at Linguise\Script\Core\Defer->finalize()
     (/var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Processor.php:31)
  at Linguise\Script\Core\Processor->Linguise\Script\Core\{closure}()