WordPress е известен с многофункционалната си подсистема “Файлова библиотека”. Разбира се, тя е проектирана с цел лесно използване и надграждане. Но понякога изискванията към тази подсистема изведнъж се покачват неимоверно и тогава започват обвиненията към нея. Затова сега ще ви покажем как лесно можете да решите част от проблемите си.
1. Първият и най-важен проблем е, че не всички файлове могат да се качат в WordPress. Да, системата нарочно не позволява да се качват всякакви файлове и ги е ограничила до няколко типа и няколко разширения.
Ето списък на основните типове файлове:
- изображения - .jpg, .jpeg, .png, .gif, .ico
- документи - .pdf, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .odt, .pps,
- аудио - .mp3, .m4a, .ogg, .wav
- видео - .mp4, .m4v, .mov, .avi, .mpg, .ogv, .3gp, .3g2
Ако вашият файл е с друго разширение, системата ще откаже да го качи в библиотеката. Така не можете да качите изпълними файлове като .EXE, .BAT, .DLL както и архиви .ZIP, .RAR и други, извън горния списък. В случай, че се наложи да качвате файл от друг тип, извън списъка, то ще се наложи да редактирате wp-config.php и да прибавите следния ред:
define( 'ALLOW_UNFILTERED_UPLOADS', true );
По този начин WordPress ще позволи качване на всякакви файлове без ограничения.
2. Разрешаването на качване на всичко също не е решение за много потребителски системи, където няма да има контрол върху потребителите. Това ще разреши на потребителите да качват и други файлове, нямащи нищо общо със самата система. Например вируси, което може да доведе до частично компрометиране на сървъра и попадането му в различни черни списъци на антивирусни производители. Затова може да се приложи следния код и да се модифицира за нуждите:
<?php
add_filter( 'upload_mimes', 'new_mime_types', 1, 1 );
function new_mime_types( $mime_types ) {
$mime_types['svg'] = 'image/svg+xml';
$mime_types['json'] = 'application/json';
unset( $mime_types[doc] );
unset( $mime_types['docx'] );
return $mime_types;
}
Сега ще разшифрираме и какво прави този код - разрешава качването на .svg и .json файлове и забранява качването на Word документи .doc и .docx. Тук ще трябва да изрично да укажете какви файлове още искате или не искате да с качват в WordPress.
3. Третият, и не по-малко важен проблем, е ограничението за максимална големина на качваните файлове. Това ограничение не е на WordPress, то произлиза от хостинг доставчика и е най-често 2 мегабайта. Ограничението цели да предпази споделения хостинг от претоварване при качване на нови файлове. Ако искате да разрешите качване на по-големи файлове, то ще се наложи да влезете в контролния панел на хостинга и да направите промяна.
Важно! Ограничението не е случайно сложено. Освен, че предпазва сървърите, всъщност то се грижи и за самите потребители. Използването на по-големи файлове е нож с две остриета. От една страна е полезно. От друга страна това увеличава използването на паметта, увеличава процесорното време и увеличава и изходящия трафик на сайта. Затова преценете дали изобщо искате да вдигате този параметър за постоянно или ще го промените колкото да качите няколко файла и после ще го върнете обратно. Нашият съвет е да го вдигнете само за тези файлове, които не можете да качите и после да го върнете обратно.
4. Понякога се налага да се качват изключително големи файлове от няколко десетки или дори стотици мегабайти. Това е често срещан случай при музиканти, фотографи или хора, работещи с видео файлове. Тогава каквато и стойност да сложите за размер, част от файловете ще искат по-голяма стойност. Затова е по-добре да се използва следния трик - казва се малък файл от същия тип като големия файл и след това с използването на FTP клиент малкия файл се презаписва с големия файл в папката wp-uploads. Така ако имате 100 МБ аудио файл MP3, намирате някакъв малък (2 мб или по-малък) аудио файл MP3 и го качвате него и после го презаписвате с големия. По този начин файла ще продължава да се води във файловата библиотека и ще можете по-лесно да го вмъквате в публикациите на блога.
Важно! Ако ви се налага да го правите по-често, можете да се замислите дали изобщо искате да виждате такива файлове във файловата библиотека. Можете да ги качвате с FTP и в други папки на сървъра. Можете да ги качвате и във външни ресурси – например, ако е видео файл YouTube, ако е аудио файл SoundCloud и т.н. Разбира се, няма как да ви дадем универсален съвет в този случай и ще се наложи да вземете решение как да си организирате файловете в интернет.
5. Рядко, но все пак срещано, се налага да се качват файлове, вече намиращи се на сървъра. WordPress позволява качването на файлове във файловата библиотека само от локален източник. Ако файловете се намират вече на сървъра, то тогава същите трябва да се смъкнат локално и така да се качат наново в WordPress. Това е безсмислена и времеотнемаща операция. За наша радост има разширение, което позволява файловете директно да се качат без смъкване, а именно Add From Server
По този начин лесно могат да се качат много файлове в библиотеката с няколко клика на мишката.
Важно! При всяко качване на файл се генерира негово малко изображение, при това в няколко размера. Разбира се, нищо не е безплатно и това коства процесорно време и памет. Има ограничения за максимално време на изпълнение на скриптове в системата и е 30 секунди, максимално процесорно време на денонощие и ограничения за максималната използвана памет. Затова преди да натиснете бутона за качване на много файлове, помислете дали няма да претоварите системата.
6. Използването на по-голяма библиотека от файлове води до хаос, време за търсене на файлове и малко неудобна организация. WordPress позволява файловете да се групират по дата (месец/година) и тип (изображение/аудио/видео). Когато файловете минат бройката от няколкостотин или хиляди, то това става пречка за по-лесната работа с файловете. А можеше само файловете да се поставят в различни категории и далеч по-лесно да се каталогизират. Затова има създадени модули Media Library Categories и WP Media Categories, които позволяват всеки един файл да се прикрепи към съответна категория и по-лесно да се организира работата с файловете.
Важно! Файловете може да използват същите категории като публикациите или напълно други в зависимост от модулите. При някой от модулите няма възможност да се направи категория, която да е само за публикации или само за файлове. В други категориите са различни. Затова експериментирайте внимателно с тази функционалност, преди да започнете да я използвате по-сериозно в мащабни проекти.
7. Поредният проблем е преименуването на файлове в библиотеката. Какво ще стане, ако след като качите файл откриете, че сте допуснали правописна грешка в неговото име? Ще трябва да изтриете файла и наново да го качите, този път с правилното име, което за неприкачени файлове към страници или публикации не е проблем. Но е проблем, когато файла е вече използван. Има няколко разширения на WordPress, позволяващи точно това да преименувате файл в библиотеката безпроблемно. Едното разширение е Media Rename, другото е Media File Renamer. Ето и как можете да ги използвате:
Важно! Преименуването на файловете няма функция за връщане обратно преди промените. Затова особенно внимавайте при използването на тази функционалност и си правете архиви.
8. И последния проблем, с който можете да се сблъскате, е когато смените темата и новата тема има други предефинирани размери за снимките. Тогава всичките снимки може да изглеждат грозно или ще са разтеглени, или ще са смачкани. Решението е да се качат наново всички снимки горе, но не ви го препоръчваме, защото ще промени интернет адресите на снимките и ще отвори много допълнителна работа покрай това. Далеч по-елегантното решение е да се използва разширението Regenerate Thumbnails и да се направят нови миниатюрни изображения:
Важно! Генерирането на нови миниатюри не е безплатно при WordPress с много използвани снимки. Както се досещате отнема процесорно време и използва повече памет. Поради тези причини, преди да го пуснете върху няколко хиляди снимки, се запознайте какви са ограниченията на хостинга.
Накратко това бяха осемте най-често срещани проблеми в практиката при по-активно използване на файловата библиотека. Възможно е никога да не се сблъсквате с тях, но във всички WordPress хостинг доставчици, специалистите по поддръжка всекидневно решават точно такива проблеми.
Ще се радваме да опишете тук или в социалните мрежи, като коментар под публикацията, вашите проблеми, с които сте се сблъсквали и начините за тяхното решаване.