Use your Drive – propojení s Google diskem

Hodně často tento plugin doporučuji na propojení se skautským Google diskem. Nejčastěji jde o dokumenty, vkládání odkazů na zápisy a další. Dneska se podíváme na pár funkcí, které by mohli odlehčit lebedě na discích. Bude řeč o galeriích.

Pro začátek je potřeba říct, že plugin je PLACENÝ. Stojí cca 30 USD (bývají akce) a pokud chcete svůj třeba střediskový web propojit s diskem, jsou to dobře investované peníze. Plugin se nachází na Codecanyonu, což je jedno z největších na světě pro podobné produkty.

Jak na galerii

Pokud již plugin máte, je potřeba ho mít aktualizovaný alespoň na verzi 1.9.4.2 (tam je vše o čem budu psát funkční)

Řešil jsem v poslední době s vývojářem několik problémů, které byly okolo galerií a vše se nějak dořešilo.

  1. Na týmové disky se nedaly z prostředí webu nahrávat soubory, končilo to chybou. Pro nahrávání více fotek z akcí nic moc zjištění. – vyřešeno
  2. Různé řezaní souborů ve složkách a samotných složek. V tom smyslu, aby jako první album bylo to nejnovější, ale aby uvnitř fotky začínaly tou nejstarší (ze začátku akce) – vyřešeno
  3. Aby se dal skrýt část názvů složek. (vysvětlím níže) – vyřešeno
  4. Možnost měnit velikost textu v popisu složek. – vyřešeno

Chyba v nahrávání

Není potřeba moc komentovat, byla to chyba pluginu. V posledních verzích je to již opraveno. Nefunguje ještě dobře nahrávání složek s obsahem (občas se to kousne). Doporučuji, nejdřív složku vytvořit a až pak do ní nahrávat fotky.

Různé řazení souborů

Už zajímavější, tady se dostáváme k nějakému tomu kódu. Pro začátek je potřeba říct, že musíte mít vytvořenou takzvanou „child theme“ (odvozenou šablonu). Vše co tu bude psáno patří do souboru functions.php na konec.

Co je nutné udělat před vložením kódu.

  1. Zkontrolovat, že mám nainstalovanou alespoň verzi 1.9.4.2 (jinak web spadne na chybu)
  2. Mít child theme pro svůj web, tedy nepoupravovat nějakou staženou šablonu. Tam se změny smažou s novou aktualizací.

Vložit shortcode pluginu (přes ikonu Google disku) do nějaké stránky, kde chcete mít galerii. Je potřeba nastavit hned v prvním kroku, že se jedná o galerii. (pokud tam tohle nebude, nebude kód fungovat). Dále nechat řazení podle jména souborů a složek. Další nastavení je už na vás, ať se jedná o nastavení stahování nebo notifikace.

Když tohle všechno máte, stačí vložit kód níže do souboru functions.php v child šabloně. A vše pojede.

function sort_filelist_settings($settings, $foldercontents, $processor) {

    /* Only change sort order for galleries */
    if ($processor->get_shortcode_option('mode') !== 'gallery') {
        return $settings;
    }

    /* Only change sort order if we are sorting by Date modified */
    if ($settings[0] !== 'name') {
        return $settings;
    }
    /* Default sort order for list of albums = New albums first */
    $settings[1] = SORT_DESC;

    /* If the file list contains images, change the sort order to show oldest images first */
    foreach ($foldercontents as $item) {
        if ($item->is_file()) {
            $settings[1] = SORT_ASC;
            break;
        }
    }

    return $settings;
}

Skrývání části textů

Tato část není povinná, ale může se to hodit. Pro řazení složek, jsem jako nejlepší způsob nalezl řazení podle data v názvu složky.

Mám tedy názvy složek udělané např.: 20180402_Boje družin. Tedy na Google disku se dají složky dobře řadit, a je v nich přehled. Na webu, ale chceme zobrazovat jen název akce, bez toho data. A k tomu slouží kód níže.

Ten dělá to, že vše co je PŘED „_“ není na webu vidět. Je potřeba říct, že tohle skryje takový obsah u všech složek na webu.

add_filter('useyourdrive_gallery_entry_text', 'uyd_change_folder_text', 10, 3);

function uyd_change_folder_text($text, $item, $processor) {

    $character = "_";
    if ($item->is_dir() && ($pos = strpos($text, $character)) !== FALSE) {
        $text = substr($text, $pos + 1);
    }

    return $text;
}

add_filter('useyourdrive_sort_filelist_settings', 'sort_filelist_settings', 10, 3);

Velikost textu

Může se stát, že by vám text nemusel svojí velikostí vyhovovat. Když do style.css opět v child šabloně toto dopíšete, můžete si velikost textu korigovat. Opět to platí globálně na celý web. Tedy text se zmenší ve všech oknech, které ten plugin na vašem webu má.

.UseyourDrive{
font-size:15px !important;
}

Jak dál

Když bude zájem, mohu tento kód přidat do skautské šablony napřímo. Pokud ten plugin nebudete mít nainstalovaný, nic se neděje. Chyby to vyhazovat nebude.