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

Документация разработчика WP Media Folder

Эта документация поможет опытным разработчикам подключить любой другой сервис к нашему плагину. Здесь перечислены все действия и фильтры для этого плагина, если вам нужно больше, не стесняйтесь спросить, используя это для специального форума. Спасибо за использование нашего плагина!

Вспомогательный файл

WP Media Folder поставляется с вспомогательным файлом, содержащим основные функции, которые могут понадобиться для интеграции его в ваши темы и плагины.

  • Переместить файл в папку
  • Создать папки
  • Переместить папки
  • Получить вложения в папке
  • ...
Пример: вы можете создать новую папку следующим образом: include('wp-content/plugins/wp-media-folder/helper.php'); \Joomunited\WPMediaFolder\Helper::createFolder('My new folder');

Хуки

import_term_meta

Срабатывает после импорта метаданных термина.

Параметры :

int $term_id ID недавно созданного термина.string $key Ключ метаданных.mixed $value Значение метаданных.

Возврат :

void

В файлах :

class/import/class-wp-import.php строка 451

wpmf_after_replace

Выполнить действие после замены файла

Параметры :

целое ID вложения

Возврат :

void

В файлах :

class/class-replace-file.php строка 462

wpmf_attachment_set_folder

Установить папку вложения после перемещения вложения в папку в медиаменеджере. Этот хук также используется при импорте вложений в категории, после загрузки вложения и при назначении нескольких папок вложению

Параметры :

целое ID вложенияцелое|массив Целевая папка или массив целевых папокмассив Дополнительная информация

Возврат :

void

В файлах :

class/class-main.php строка 912class/class-main.php строка 943class/class-main.php строка 2833class/class-main.php строка 3391class/class-main.php строка 4618class/class-main.php строка 5419class/class-wp-folder-option.php строка 457class/class-wp-folder-option.php строка 3645class/class-helper.php строка 2599class/class-helper.php строка 2655

wpmf_before_delete_folder

Перед удалением папки

Параметры :

WP_Term Папка, этот термин больше недоступен, так как был удалён

Возврат :

void

В файлах :

class/class-main.php строка 4141class/class-main.php строка 4518

wpmf_create_folder

Создать папку из медиатеки. Этот хук также используется при синхронизации и импорте файлов с FTP, создании папок на основе пользователей и ролей и импорте из галереи Nextgen

Параметры :

целое ID созданной папкистрока Имя созданной папкицелое ID родительской папкимассив Дополнительная информация

Возврат :

void

В файлах :

class/class-main.php строка 2810class/class-main.php строка 3648class/class-main.php строка 3662class/class-main.php строка 3966class/class-wp-folder-option.php строка 3522

wpmf_delete_folder

Удалить папку

Параметры :

WP_Term Папка, этот термин больше недоступен, так как был удалён

Возврат :

void

В файлах :

class/class-main.php строка 4149class/class-main.php строка 4527

wpmf_duplicate_attachment

Дублировать вложение

Параметры :

целое ID вложенияцелое Целевая папка

Возврат :

void

В файлах :

class/class-duplicate-file.php строка 119

wpmf_move_folder

Переместить папку из медиатеки. Этот хук также используется, когда изменяется параметр роли папки

Параметры :

целое ID перемещённой папкистрока ID целевой папкимассив Дополнительная информация

Возврат :

void

В файлах :

class/class-main.php строка 4715class/class-wp-folder-option.php строка 3021

wpmf_update_folder_name

Обновить название папки

Параметры :

целое ID папкистрока Обновлённое имя

Возврат :

void

В файлах :

class/class-main.php строка 4080class/class-folder-post-type.php строка 500

wpmf_update_folder_name

Обновить название папки

Параметры :

целое ID папкистрока Обновлённое имя

Возврат :

void

В файлах :

class/class-main.php строка 4080class/class-folder-post-type.php строка 500

fallback_intermediate_image_sizes

Фильтрует размеры изображений, генерируемые для MIME-типов, не являющихся изображениями.

Параметры :

массив $fallback_sizes массив имён размеров изображений.массив $metadata Текущие метаданные вложения.

Возврат :

void

В файлах :

class/class-helper.php строка 2771

import_term_meta_key

Фильтрует мета‑ключ для импортированного элемента мета‑термина.

Параметры :

строка $meta_key Мета‑ключ.int $term_id ID недавно созданного термина.массив $term Данные термина из импорта WXR.

Возврат :

void

В файлах :

class/import/class-wp-import.php строка 432

wp_import_existing_post

Фильтровать ID существующей записи, соответствующей текущей импортируемой записи. Вернуть 0, чтобы принудительно импортировать запись. Фильтровать ID, чтобы он был чем‑то другим, чтобы переопределить, какая существующая запись сопоставлена с импортируемой записью.

Параметры :

int $post_exists ID записи, или 0 если запись не существует.array $post Массив записи для вставки.

Возврат :

void

В файлах :

class/import/class-wp-import.php line 505

wp_import_term_meta

Фильтрует метаданные, прикрепленные к импортированному термину.

Параметры :

array $termmeta Массив метаданных термина.int $term_id ID недавно созданного термина.array $term Данные термина из импорта WXR.

Возврат :

void

В файлах :

class/import/class-wp-import.php line 416

wpmf_gallery_enable_download

Фильтр для включения/отключения загрузки изображения в галерее

Параметры :

boolean Включить/отключить загрузку изображения

Возврат :

boolean

В файлах :

class/class-display-gallery.php line 473

wpmf_gallery_query_args

Фильтр аргументов запроса галереи для получения изображений.

Параметры :

array Аргументы запроса галереи

Возврат :

array

В файлах :

class/class-display-gallery.php line 411

wpmf_get_categories_args

Фильтр для пользовательских аргументов получения всех категорий

Параметры :

массив аргумент

Возврат :

array

В файлах :

class/class-main.php line 2265

wpmf_limit_folders

Фильтр для установки ограничения количества загруженных папок

Параметры :

целое Ограничение количества папок

Возврат :

целое

В файлах :

class/class-main.php line 1710class/class-folder-post-type.php line 1769

wpmf_limit_folders

Фильтр для установки ограничения количества загруженных папок

Параметры :

целое Ограничение количества папок

Возврат :

целое

В файлах :

class/class-main.php line 1710class/class-folder-post-type.php line 1769

wpmf_set_file_title

Изменять название файла перед сохранением в базе данных

Параметры :

строка Название файла

Возврат :

строка

В файлах :

class/class-main.php line 5540

wpmf_taxonomy_public

Фильтр для изменения публичного параметра таксономии wpmf-category

Параметры :

логическое Статус публичности таксономии

Возврат :

boolean

В файлах :

class/class-helper.php line 1782

Компоновщик

логотип composer Здесь решение для использования наших плагинов как зависимости Composer. Вам необходимо объявить в файле composer.json репозиторий joomunited, пожалуйста, убедитесь заменить YOUR_TOKEN в URL вашим собственным токеном. Вы можете найти его под https://www.joomunited.com/my-account/my-membership под аккордеоном токена Composer. { "repositories":[ { "type":"package", "package":{ "name":"joomunited/wp-media-folder", "version":"master", "type":"wordpress thing-plugin", "dist":{ "type":"zip", "url":"https://www.joomunited.com/extra/download/wp-media-folder/YOUR_TOKEN", "reference":"master" } } } ], "require":{ "composer/installers":"~1.0", "joomunited/wp-media-folder":"dev-master" } } Пожалуйста, обратите внимание, что команда composer update не может работать с приватными репозиториями (для более подробного объяснения, пожалуйста, обратитесь к документации Composer) Хотя вы можете вручную обновить плагин до последней версии с помощью этой команды: composer remove joomunited/wp-media-folder && composer clearcache && composer require joomunited/wp-media-folder:dev-master

Установить ключ обновления programmatically с помощью WP CLI

Используйте тот же ключ, который вы использовали для установки composer, и выполните эту команду composer, чтобы установить токен обновления wp option update ju_user_token "YOUR_TOKEN"

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}()