Uprava linku na obrazky v knihovne medii

Úvodní stránka Fórum podpory WordPressu Čeština pro WordPress Uprava linku na obrazky v knihovne medii

Zvolené téma obsahuje celkem 16 odpovědí. Do diskuze (4 účastníci) se naposledy zapojil uživatel  BorgMcz a poslední změna je stará 8 let, 7 měsíců.

Aktuálně je na stránce zobrazeno 17 příspěvků - 1. až 17. (z celkem 17)
  • Autor
    Příspěvky
  • #1040

    BorgMcz
    Participant
    Web

    Dobrý den, potřebola bych poradit jak zajistit aby wordpress neukladal cestu k obrazkum v knihovne jako celkovej link ve formátu "http://www.example.com/wordpress/upload/image.gif" ale zkracene jen ve tvaru "/wordpress/upload/image.gif" protoze po presunu na novou domenu jsou obzaky nacina pres tu starou.

    Druhy dotaz je kde mohu urcit pripony souboru, ktere mohu vlozit do stranek jako v pripade souboru ZIP. Potrebuji na stranky umistovat soubory s priponou BRD a SCH a take o vetsi velikosti nez 2MB.

    Posledni treti dotaz se tyka mazani kodu vlozeneho pres HTML editor a opetovnem nacteni pro editaci, kdy se tento kod odmaze. Jde o vlozena pocitadla a formuláře a další veci z blueboard.cz

    Dekuji za pomoc.

    #8646

    admin
    Keymaster
    Web

    Zdravím,

    a pokusím se stručně odpovědět.

    1) Odkazy k obrázkům moc jednoduše řešit nepůjde. Teoreticky by šly ukládat v relativní podobě (tedy bez domény), ale určitě to nedoporučuju. Mnohem lepším způsobem je použít při změně domény nějaký plugin, který je umí automaticky převést. Prověřený je např. plugin Search and Replace, dobře vypadá také Velvet Blues Update URLs.

    2) O povolení nahrávání dalších typů souborů si můžete podrobněji přešíst v našem starším článku. Pokud bude něco nejasného, tak se klidně ptejte. Pokud jde o velikost nahrávaného souboru, tak ta je patrně omezena hostingem. Můžete zkusit následující:

    – Přidat do souboru .htaccess následující řádek (na začátek):

    php_value upload_max_filesize 10M

    php_value post_max_size 10M

    – Nebo vložit odobné hodnoty do souboru wp-confug.php:

    ini_set( 'upload_max_size', '10M' );

    ini_set( 'post_max_size', '10M' );

    Většinou to má ale hosting ošetřené a žádný z těchto způsbů fungovat nebude. Jediným řešením je pak napsat poskytovateli hostingu (mimochodem, jaký používáte?) a poprosit je o zvýšení hodnot upload_max_size a post_max_size v nastavení PHP. Pokud nevyhoví, tak můžete větší soubory ještě nahrávat ručně přímo na FTP a odkazovat na ně.

    3) Složitější HTML kódy je asi lepší vkládat přímo do souborů šablon, ale mělo by to jít i v editoru. Jste přihlášena jako administrátor? Nepřepínáte se s vloženým kódem do vizuálního editoru? Máte nějakou ukázku konkrétního kódu? Používáte klasickou instalaci WordPressu nebo víceuživatelskou?

    #8647

    BorgMcz
    Participant
    Web

    1) Dekuji za odpoved, co se tyka relativnich linku, dam tedy na vasi radu a pouziji pluginy. Jen pro infoa pouceni, proc to nedoporucujete?

    2) Povoleni dalsich typu souboru jsem opravdu pozdeji nasel a uz upravil. Co se tykalo limitu na velikost souboru, editaci v php.ini uz je mozne upload i vetsich, dekuji za navedeni.

    Hostuji sam sebe, takze to nebyl problem, wordpres ma zprovozneni na NASu D-Link NAS ShareCenter Pulse DNS-320 s upravou software a bootovani. Zatim je pro test wordpress a zbytek systemu instalovan na flash disku, aby stale nebezeli disky, po dokonceni testu ke spokojenosti to pobezi na SSD disku.

    3) O vlozeni primo do sablony pro prispevek jsem premyslel, ale ne na vsech strankach je to zadouci a priznam se, ze netusim jak pouzivat vice sablon pro prispevky.

    Jako administrator jsem prihlasen. Ano odmazani kodu dojde po zasahu ve vizualnim editoru, proto mi to pride nebezpecne, pokud chci jen udelat malou upravu a neuvedomim si, ze tento prizpevek na tento vlozeny kod, tak o nej prijdu.

    ukazka kodu zde:

    <p align="center"><!-- BLUEBOARD MAILFORM -->

    <iframe frameborder="0" scrolling="no" width="500" height="140" src="https://www.blueboard.cz/mailform.php?id=220000"></iframe>

    <!-- BLUEBOARD MAILFORM KONEC-->

    po prepnuti do vizingu zbyde jen komentar

    <p align="center"><!-- BLUEBOARD MAILFORM -->

    <!-- BLUEBOARD MAILFORM KONEC-->

    vse v IFRAME je pryc.

    Pouzivam klasickou instalaci WP verze 3.1.4

    #8648

    admin
    Keymaster
    Web

    Nevěděl jsem, že nejste začátečník, čemuž byly přizpůsobeny odpovědi :-)

    Ad 1) Nedoporučujeme to proto, že to (pokud si dobře pamatuju) ani WordPress moc oficiálně nepodporuje. Problémy byly myslím s tím, že relativní odkazy dědily URL příspěvků (využívajících trvalé odkazy) a docházelo k podivným (nefunkčním) adresám, např. adresa obrázku domena.cz/muj-prispevek/wp-content/uploads/obrazek.jpg místo správného domena.cz/wp-content/uploads/obrazek.jpg. Možná se to trochu změnilo a víceméně to už funguje, ale zatím jsem to blíže nezkoumal, při přenosu je změna s pomocí pluginu (či vlastního SQL dotazu) otázkou chvilky. Myslím, že do budoucna vývojáři chtějí podporovat i relativní odkazy pro obrázky (a obecně odkazy), ale zatím tomu tak oficiálně není a mohly by se tam např. objevit i problémy se šablonami. Ale pokud zkusíte prošlapat cestu tímto směrem, tak uvítáme veškeré postřehy, třeba je to jednodušší než se na první pohled zdá…

    Ad 2) Netušil jsem, že můžete editovat php.ini :-) O NASu teď velmi vážně uvažuji, jaké máte obecné zkušenosti s používaným typem?

    Ad 3) Ano, při přepínání do vizuálního editoru k těmto problémům dochází. Ten samý problém se řešil zde. Můžete buď zcela ignorovat vizuální editor TinyMCE (pak by to mělo fungovat) nebo využít odkazované řešení. Stručně řečeno není ve výchozím nastavení editoru iframe povolen a musíte si ho tam dodat pomocí funkce a filtru tiny_mce_before_init (viz příklad).

    Vkládání do šablony je ale do budoucna efektivnější, protože se může změnit kód a budete to muset měnit ve všech příspěvcích. Kód je třeba vložit do příslušného souboru šablony s nějakou podmínkou (záleží kde všude ho pak chcete zobrazovat) nebo by se hodilo i využití zkrácených zápisů (tzv. shortcode), když je chcete rozmisťovat spíše nahodile (kód tak definujete ve vlastní funkci pouze jednou a pak už na něj do příspěvků vkládáte pouze “odkazy”).

    #8649

    BorgMcz
    Participant
    Web

    No myslim, ze klidne muzeme zustat u odpovedi pro zacatecnika, spise si tak hraji, abych se necemu priucil (ono se to muze hodit).

    1) zatim jsem to resil tak, ze umazavam u tech obrazku domenu rucne a tvorim tak relativni odkaz. Zda se, ze zatim problem to nema. Jen si to clovek musi pamatovat pri tvorbe prispevku, proto jsem polozil tento dotaz, zda by to neslo rovnou automaticky.

    2) Co se tyka NASu, jsem spokojen, nepatri mezi zadne turbo rychliky, ale proti predchozimu je o dost rychlejsi. Take se mi zamlouva to, ze vnitrni FW se nijak zasahem nemeni a v pripade problemu je ihned funkcni. Pouzivam tam dva HDD v raidu, pro ulozeni dulezitych dat. Do USB portu je pripojena flash s rozsirenim systemu (jak jsem uvadel, jen docasne, nahradi ho SSD disk). Pokud to nekdo chce treba jen pro web a nejde mu o RAID je lepsi SSD kombinovat s HDD a systemove rozsireni mit pripojene rychleji pres SATA nebo pouzit jen SDD pokud to nebude slouzit jako velke uloziste dat. Bez rozsireni systemu je ale disk dost malo uzitecny, tedy spise FW obsahuje chybicky v klientech pro stahovani souboru.

    3) Zde opet dekuji za navedeni, projdu uvadene postupy, pokud budu potrebovat usmernit, dovolil bych se opet ozvat.

    Dekuji.

    #8650

    BorgMcz
    Participant
    Web

    3) prosel jsem ukazky kodu z odkazu https://www.separatista.net/forum/topic.php?id=349 , ale bohuzel jsem nejak nepochopil, kam ze tuto funkci mam umistit, myslim do jakeho souboru ve WordPressu.

    #8651

    admin
    Keymaster
    Web

    Ad 1) Ano, automaticky to lze udělat také, máte dokonce dvě možnosti:

    a) URL adresu obrázku můžete změnit už při jeho nahrávání, a to pomocí filtru wp_handle_upload. Názorný příklad naleznete např. zde.

    b) Nebo bude adresa při nahrávání stejná (tedy s doménou), ale zaměníte ji automaticky až při vkládání obrázku do editoru, a to zase pomocí filtru media_send_to_editor. Nějaký příklad použití naleznete např. zde (musíte si ale dopsat vlastní funkci na vkládání relativní URL adresy, viz předchozí příklad).

    Ad 2) Díky.

    Ad 3) Můžete si udělat buď svůj vlastní plugin, což je .php soubor s hlavičkou (inspirujte se výchozím pluginem Hello Dolly, který je součástí WordPressu) nebo stačí kód vložit do souboru functions.php v adresáři s používanou šablonou (ale měly by tam být spíše pouze věci týkající se šablony a nikoli celého webu).

    #8652

    BorgMcz
    Participant
    Web

    Opet musim podekovat za peci se kterou mi radite.

    3) priznam se ze jsem zvolil tu druhou jednoduzsi moznost a vlozil to sablony. Funguje to jak ma. Dekuji.

    #8653

    n3s4
    Participant

    Nerad se pletu do této diskuze, ale našel jsem jeden zajímavý článek ve kterém je podrobně popsán postup při přesunu webu na jiný hosting, doménu. Je tam pěkně popsaná i ta změna domény z původní na novou. http://www.cwordpress.cz/navody/jak-presunout-wordpress-na-jiny-hosting.html

    #8654

    admin
    Keymaster
    Web

    Je to fórum, uživatelé by se měli plést do diskuzí co nejvíce :-)

    Návod je bohužel neúplný, respektive převod URL adres obrázků a odkazů při změně domény se tam vůbec neřeší. Bod 5 by fungoval pouze v případě, pokud by BorgMcz zprovoznil právě diskutované relativní odkazy. Jinak budou obrázky a odkazy směřovat na původní doménu. Pokud jsem tedy něco nepřehlédl…

    #8655

    Lukenzi
    Participant

    Zdravím po delší pauze jsem nakoukl a nedalo mi to :)

    Pro přesun na jinou doménu nebo i třeba hosting by podle mě mělo stačit doplnit tohle do souboru wp-config.php. Odpadly by tak hrátky s MySql databází a ještě bych ušetřil docela dost dotazů na DB nemluvě o tom, že po smazání se zase můžu vrátit zpátky pokud by to bylo potřeba nebo mi něco uteklo?

    define('WP_SITEURL', 'http://'.$_SERVER);

    define('WP_HOME', WP_SITEURL);

    define('WP_CONTENT_DIR', $_SERVER.'/wp-content');

    define('WP_CONTENT_URL', WP_HOME.'/wp-content');

    define('WP_PLUGIN_DIR', WP_CONTENT_DIR.'/plugins');

    define('WP_PLUGIN_URL', WP_CONTENT_URL.'/plugins ');

    define('PLUGINDIR', WP_PLUGIN_DIR);

    define('WP_LANG_DIR', WP_CONTENT_DIR.'/languages');

    #8656

    admin
    Keymaster
    Web

    Lukenzi: Vítej zpět :-)

    Uvedené řešení by ale neřešilo “natvrdo” vložené obrázky a odkazy přímo do obsahu jednotlivých příspěvků? Pokud vložím obrázek do příspěvku na jedné doméně, tak bude vloženo jeho HTML (včetně stávající domény). Nebo zase něco uniká mě :-)

    #8657

    Lukenzi
    Participant

    Jj jistě tak to je už samozřejmé, že pokud budu třeba v článku odkazovat absolutními adresami tak je jediné řešení přepsat vše v databázi. Ale relativní adresy jsem taky zkoušel používat a zatím naprosto bez problémů. Nějak nechápu ten smysl proč se museli používat absolutní když naopak to má obrovské výhody (například můžu napsat blog na localhostu a pak jej bez problémů “zkopírovat” na ostrý server naprosto bez jakýchkoliv úprav).

    Mimochodem co se týče funkčnosti šablon a pluginů tak pokud jsou správně “napsané” měly by využívat funkce WordPressu v co největší maximálně možné míře takže nastavení cest a URL adres by měli správně zjišťovat pomocí funkcí get_bloginfo(); a podobných a všechny tyto funkce pro zjišťění nastavení si nejdřív kontrolují právě uvedené konstanty než sáhnou do databáze. Teoreticky by tak každý správně naprogramovaný plugin či šablona měli, při použití těchto konstant, bez problémů fungovat na jakémkoliv hostingu nebo doméně beze změn.

    #8658

    BorgMcz
    Participant
    Web

    Dobrý den, zase se vracim pro pomoc jak vlozit tento kod do prispevku:

    <form>
    <table border="0" width="80" align="center">
    <tr>
    <!-- <td align="center">
    (bin) <input type="text" value="00001000" name="bin" onkeyup="dec.value=parseInt(this.value,2);hex.value=(parseInt(this.value,2)).toString(16)">
    </td> -->
    <td align="center">
    (dec) <input type="text" value="48" name="dec" onkeyup="hex.value=(this.value-0).toString(16);bin.value=(this.value-0).toString(2);">
    </td>
    <td align="center">
    (hex) <input type="text" name="hex" onkeyup="dec.value=parseInt(this.value,16);bin.value=(parseInt(this.value,16)).toString(2)">
    </td>
    </tr>
    </table>
    </form>

    Napadlo me, zda neznate nejaky plugin, do ktereho by daly vkladat takoveto kody a do prispevku jen vkladat na ne odkaz, jako v pripade pluginu na tvorbu formularu “Contact form 7”

    #8659

    BorgMcz
    Participant
    Web

    Tak nikdo nic neporadil, tak jsem zkousel instalovat a testovat az jsem si vybral tento opravdu jednoduchy ale presto presne funkcni plugin Shortcode Manager

    Treba to nekomu pomuze.

    #8660

    admin
    Keymaster
    Web

    Úplně jsem na vás zapomněl :-) Trochu se mi to také pomíchalo, protože v tomto vlákně už řešíme několik různých dotazů najednou. Zakládejte prosím příště raději nová témata, abychom se tady v tom neztratili…

    Výše uvedený kód jsem trochu upravil (při vkládání se nám tam občas přidávají odskoky na další řádek, HTML značka br), ale vložit by měl jít i do příspěvku bez problémů. Jen je třeba si dát u podobných delších kódů pozor, aby byly správně zapsané a vizuální editor neměl choutky ho upravovat (obecně např. při nějaké chybějící HTML značce).

    Ale ideálním způsobem je samozřejmě zkrácený zápis (tzv. shortcode, už jsem na něj upozorňoval výše). Nemusíte kód vkládat ani do příspěvku, ani do šablony a máte ho hezky pohromadě. Mimochodem, vybral jste si velmi kvalitní plugin, osobně ho používám a je pro tyto účely velmi šikovný.

    #8661

    BorgMcz
    Participant
    Web

    Nic se neděje, ja při tom narazil na další zajímavé pluginy, které použiji. Ano o tom odřadkování v kodu jsem veděl, ale všiml jsem si ho až po odeslaní. Ja ho použil jen jako příklad, aby bylo jasné o co mi jde. Každopadně děkuji za úpravu mé lenosti.

Aktuálně je na stránce zobrazeno 17 příspěvků - 1. až 17. (z celkem 17)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.