Dostęp do prostych danych listy plików

PROJEKT

Prosta lista plików przechowuje dane związane z listą plików w dwóch miejscach; tablica listy plików tablica ustawień listy plików. Tablica ustawień zawiera informacje określające sposób wyświetlania i zachowania listy plików, podczas gdy tablica listy plików zawiera informacje o każdym pliku i folderze.

Ten artykuł powinien pomóc Ci zrozumieć struktury tablic i sposób uzyskiwania dostępu do danych w nich zawartych. Następnie możesz utworzyć niestandardowe funkcje w pliku functions.php swojego motywu, aby umożliwić rozszerzenie funkcjonalności.

Ustawienia listy plików

Oto przykład na początek. Możesz uzyskać dostęp do ustawień listy plików, pobierając odpowiednią opcję WordPress:

function SimpleFileList_GetSettings () {
     
    $myListSettings = get_option('eeSFL_Settings_1'); //  1 = The List ID

    // Look at the Array Output
    echo '<pre>'; print_r($myListSettings); echo '</pre>';
     
    exit;  // Stop
}
add_action('wp_loaded', 'SimpleFileList_GetSettings');

Spowoduje to zwrócenie tablicy ustawień listy plików dla identyfikatora listy 1. Każdy klucz w tablicy reprezentuje określone ustawienie, a wartość powiązana z kluczem określa zachowanie lub wartość tego ustawienia.

$myListSettings = array(
    "AdminRole" => "5",
    "AllowBulkFileDownload" => "NO",
    "AllowFolderDownload" => "NO",
    "AllowFrontManage" => "YES",
    "AllowOverwrite" => "YES",
    "AllowUploads" => "USER",
    "FileFormats" => "jpg,jpeg,png,tif,pdf,mov,mp4,mp3,zip",
    "FileListDir" => "wp-content/uploads/simple-file-list/",
    "FileListURL" => "https://mywebsite.com/wp-content/uploads/simple-file-list/",
    "FoldersFirst" => "NO",
    "GenerateImgThumbs" => "NO",
    "GeneratePDFThumbs" => "NO",
    "GenerateVideoThumbs" => "NO",
    "GetUploaderDesc" => "NO",
    "GetUploaderInfo" => "NO",
    "LabelDate" => "Date",
    "LabelDesc" => "Description",
    "LabelName" => "",
    "LabelOwner" => "Submitter",
    "LabelSize" => "Size",
    "LabelThumb" => "Thumb",
    "ListTitle" => "Simple File List",
    "MaxSize" => "131072",
    "Notify" => "NO",
    "NotifyBcc" => "",
    "NotifyCc" => "",
    "NotifyFrom" => "",
    "NotifyFromName" => "Simple File List",
    "NotifyMessage" => "",
    "NotifySubject" => "File Upload Notice",
    "NotifyTo" => "",
    "PreserveName" => "YES",
    "PreserveSpaces" => "NO",
    "ShowBreadCrumb" => "YES",
    "ShowFileActions" => "YES",
    "ShowFileCopyLink" => "YES",
    "ShowFileDate" => "YES",
    "ShowFileDateAs" => "Changed",
    "ShowFileDesc" => "YES",
    "ShowFileDownload" => "YES",
    "ShowFileExtension" => "YES",
    "ShowFileOpen" => "YES",
    "ShowFileSize" => "YES",
    "ShowFileThumb" => "YES",
    "ShowFolderSize" => "YES",
    "ShowHeader" => "YES",
    "ShowList" => "USER",
    "ShowListStyle" => "Tiles",
    "ShowListTheme" => "Dark",
    "ShowSubmitterInfo" => "YES",
    "ShowUploadLimits" => "YES",
    "SmoothScroll" => "YES",
    "SortBy" => "DateChanged",
    "SortOrder" => "Descending",
    "UploadConfirm" => "NO",
    "UploadLimit" => "1",
    "UploadMaxFileSize" => "1",
    "UploadPosition" => "Above",
    "UseCache" => "HOUR",
    "UseCacheCron" => "YES"
);

Oto szczegółowe wyjaśnienie każdej pary klucz-wartość w tablicy:

  • AdminRole: Rola, która może uzyskać dostęp do menu zaplecza. 5 oznacza rolę administratora, podczas gdy 1 oznacza rolę Subskrybenta.
  • AllowBulkFileDownload: Flaga wskazująca, czy można pobrać wiele elementów jako plik ZIP. Wartości mogą być dowolne YES or NO.
  • AllowFolderDownload: Flaga, która włącza lub wyłącza pobieranie całych folderów jako pliku ZIP.
  • AllowFrontManage: umożliwia użytkownikom frontonu zarządzanie elementami listy, jeśli jest ustawiona na YES.
  • AllowOverwrite: Jeśli ustawione na YES, pozwala przesłanym plikom zastąpić istniejące.
  • AllowUploads: Określa, kto może przesyłać pliki. Możliwe wartości to ADMIN, USER, ALLlub NO.
  • FileFormats: rozdzielana przecinkami lista rozszerzeń plików, które można przesyłać.
  • FileListDir: Katalog, w którym znajduje się lista plików.
  • FileListURL: Adres URL umożliwiający dostęp do listy plików.
  • FoldersFirst: Jeśli ustawione na YES, foldery są wyświetlane przed plikami.
  • GenerateImgThumbs: Jeśli ustawione na YES, tworzy pliki miniatur dla plików obrazów.
  • GeneratePDFThumbs: Jeśli ustawione na YES, tworzy pliki miniatur dla plików PDF.
  • GenerateVideoThumbs: Jeśli ustawione na YES, tworzy pliki miniatur dla plików wideo.
  • GetUploaderDesc: Jeśli ustawione na YES, pokazuje pole opisu w formularzu przesyłania.
  • GetUploaderInfo: Jeśli ustawione na YES, pokazuje dane wprowadzone przez przesyłającego w formularzu przesyłania.
  • LabelDate: ciąg tekstowy używany na etykiecie daty.
  • LabelDesc: ciąg tekstowy używany w etykiecie opisu.
  • LabelName: ciąg tekstowy użyty w etykiecie nazwy.
  • LabelOwner: ciąg tekstowy używany w etykiecie osoby przesyłającej.
  • LabelSize: Ciąg tekstowy używany na etykiecie rozmiaru.
  • LabelThumb: Ciąg tekstowy używany w etykiecie miniatury.
  • ListTitle: Tytuł listy.
  • MaxSize: Maksymalny rozmiar (w megabajtach) pliku, który można przesłać.
  • Notify: Jeśli ustawione na YES, wysyła wiadomość e-mail z powiadomieniem o przesłaniu pliku.
  • NotifyBcc: rozdzielona przecinkami lista adresów e-mail do BCC, na które ma zostać wysłane powiadomienie o przesłaniu.
  • NotifyCc: rozdzielana przecinkami lista adresów e-mail, na które ma zostać wysłane powiadomienie o przesłaniu.
  • NotifyFrom: adres e-mail, z którego wysyłane jest powiadomienie o przesłaniu.
  • NotifyFromName: nazwa nadawcy w e-mailu z powiadomieniem o przesłaniu.
  • NotifyMessage: treść wiadomości e-mail z powiadomieniem o przesłaniu.
  • NotifySubject: temat wiadomości e-mail z powiadomieniem o przesłaniu.
  • NotifyTo: rozdzielana przecinkami lista adresów e-mail, na które ma zostać wysłane powiadomienie o przesłaniu.
  • PreserveName: Jeśli ustawione na YES, zachowuje i wyświetla oryginalną nazwę pliku.
  • PreserveSpaces: Jeśli ustawione na YES, konwertuje myślniki w nazwach plików na spacje.
  • ShowBreadCrumb: Jeśli ustawione na YES, pokazuje ślad nawigacyjny nad listą plików.
  • ShowFileActions: Jeśli ustawione na YES, pokazuje działania na plikach, takie jak Otwórz, Pobierz itp.
  • ShowFileCopyLink: Jeśli ustawione na YES, pokazuje czynność kopiowania pliku.
  • ShowFileDate: Jeśli ustawione na YES, pokazuje datę pliku.
  • ShowFileDateAs: Określa, czy wyświetlać datę dodania pliku, czy też datę jego ostatniej zmiany.
  • ShowFileDesc: Jeśli ustawione na YES, pokazuje opis pliku.
  • ShowFileDownload: Jeśli ustawione na YES, pokazuje czynność pobierania pliku.
  • ShowFileExtension: Jeśli ustawione na YES, pokazuje rozszerzenie pliku.
  • ShowFileOpen: Jeśli ustawione na YES, pokazuje czynność otwierania pliku.
  • ShowFileSize: Jeśli ustawione na YES, pokazuje rozmiar pliku.
  • ShowFileThumb: Jeśli ustawione na YES, pokazuje obraz miniatury pliku.
  • ShowFolderSize: Jeśli ustawione na YES, pokazuje rozmiar folderu.
  • ShowHeader: Jeśli ustawione na YES, pokazuje nagłówek tabeli listy plików.
  • ShowList: Określa, kto może zobaczyć listę. Opcje są ADMIN, USER, ALLlub NO.
  • ShowListStyle: Określa styl listy. Możliwa wartość to TABLE.
  • ShowListTheme: Określa motyw kolorystyczny listy. Przykładowa wartość to Dark.
  • ShowSubmitterInfo: Jeśli ustawione na YES, pokazuje informacje o przesyłającym.
  • ShowUploadLimits: Jeśli ustawione na YES, pokazuje informacje o limitach wysyłania w formularzu.
  • SmoothScroll: Jeśli ustawione na YES, włącza efekt płynnego przewijania po załadowaniu strony.
  • SortBy: Określa kryteria sortowania plików. Opcje są Name, Added, Changed, Sizelub Random.
  • SortOrder: Określa kolejność sortowania. Opcje są Descending or Ascending.
  • UploadConfirm: Jeśli ustawione na YES, pokazuje stronę wyników po przesłaniu. Jeśli NO, następuje powrót do listy.
  • UploadLimit: Liczba plików, które można przesłać jednocześnie.
  • UploadMaxFileSize: Maksymalny rozmiar pliku, który można przesłać.
  • UploadPosition: Określa również, gdzie ma być wyświetlany formularz Above or Below Lista.
  • UseCache: Określa, kiedy należy ponownie przeskanować pliki. Opcje są EACH, DAY, HOUR, OFF.
  • UseCacheCron: Jeśli ustawione na YES, korzysta z systemu WordPress wp_cron.

Uwaga – W przypadku opcji boolowskich YES zazwyczaj włącza funkcję lub opcję, podczas gdy NO wyłącza to. W przypadku innych opcji wartością jest określony ciąg znaków lub liczba.

Dostęp do danych ustawień

Aby uzyskać dostęp do poszczególnych elementów danych, wystarczy odwołać się do ich kluczy:

echo $myListSettings['ListTitle'];  // Display the List Title

Ustawienia rozszerzeń

Wtyczki rozszerzeń mogą dodawać dodatkowe opcje ustawień.

Opcja wyszukiwania i paginacji

Opcja dostępu do plików

Opcje wysyłania plików

Opcje odtwarzacza multimedialnego

Zostaw komentarz

Ta strona używa Akismet do redukcji spamu. Dowiedz się, jak przetwarzane są dane komentarza.