Vejít do
Všechna počítačová tajemství pro začátečníky i profesionály
  • Co je PWM digitální pulzně šířková modulace
  • Jak správně připájet novou zástrčku do sluchátek (s drátěným vývodem)
  • Nabíječka mobilního telefonu
  • Obvod měřiče frekvence pro napájecí síť
  • Stáhnout mody pro minecraft Stáhněte si skvělé mody pro minecraft
  • Všechny příkazy úprava světa Mod worldedit 1
  • Konec pluginu php. Nejlepší způsob, jak povolit pluginy pro aplikaci PHP. Vytvoření vlastního pluginu WordPress Features

    Konec pluginu php.  Nejlepší způsob, jak povolit pluginy pro aplikaci PHP.  Vytvoření vlastního pluginu WordPress Features

    Určitě jste se nejednou setkali s potřebou přidat na svůj web WordPress nějaký kus kódu, abyste přidali nové funkce. Nemluvím o skriptech Google Analytics, které vkládáte do části záhlaví vašeho motivu. Ne. Mluvím o těch malých útržcích kódu, které jste našli na fórech na internetu a okamžitě jste je běželi přidat do svého souboru. funkce.php.

    Buďme upřímní, už jsi to alespoň jednou udělal, že? A to je pochopitelné, protože to bylo napsáno na fóru - přidejte tento kód do functions.php vašeho WordPress tématu.

    Pravdou je, že přidání každého kódu, který najdete na internetu, do functions.php je ne vždy dobrý nápad. Bezpečnějším řešením by bylo vytvořit si vlastní mini plugin s tímto kódem.

    V tomto tutoriálu vám řekneme, v jakých případech můžete přidat kód do functions.php a v jakých případech je lepší použít samostatný plugin. Ukážeme si také, jak si můžete sami vytvořit vlastní plugin a přidat do něj vlastní kód.

    Co je functions.php

    Pokud jste někdy procházeli soubory svého webu WordPress, možná jste narazili na několik souborů functions.php. Soubor functions.php, o kterém budeme hovořit v tomto tutoriálu, se nachází ve složce: wp-contentthemesyourthemefunctions.php.

    Je zřejmé, že se jedná o stejný soubor, který ukládá všechny funkce a nastavení vašeho konkrétního motivu, aktuálně aktivní. Věnujte pozornost slovu „aktivní“, protože to bude hlavní poselství této lekce.

    Proč vždy používat functions.php je špatný nápad

    Nechápejte mě špatně, použití functions.php pro malé kousky kódu na pár řádcích je zcela normální situace. Říkáme, že není dobrý nápad používat functions.php jako úložiště pro absolutně veškerý kód, který jste přidali. Toto není univerzální řešení pro každou situaci.

    Důvod #1.

    Pokud dojde k aktualizaci vašeho motivu, ztratíte vše, co jste napsali do souboru functions.php. Vím, co vás právě napadlo - ale existuje jeden jen pro takové situace?

    Samozřejmě že ano. Je ale také mnoho lidí, kteří netuší, co je to dětské téma. Nebo jsou lidé, kteří vás požádali o pomoc s přidáním části kódu do jejich tématu.

    Proto je tento důvod na tomto seznamu. Pokud přidáváte kód do functions.php bez použití podřízeného motivu, je to vaše první červená vlajka.

    Důvod č. 2.

    I když jste správně nakonfigurovali a používáte podřízený motiv. Co se stane, když budete chtít přejít na jiné téma? Doufám, že ke každé změně, kterou provedete ve svém souboru functions.php, přidáte komentář, protože bez něj bude přechod na jiné téma extrémně bolestivý. Myslím, že chápete.

    Důvod č. 3.

    Pokud jste do functions.php přidali kód, který z ničeho nic zcela rozbije váš web a zůstane vám prázdná bílá obrazovka, budete potřebovat FTP klienta ke stažení poškozeného functions.php, upravte jej, a nahrajte jej zpět na svůj web. Radost je taková.

    Kdy použít functions.php

    Správné použití features.php pro aktuálně aktivní podřízené téma je platnou volbou. Ale pamatujte, že jsem zdůraznil toto slovo " aktivní"?

    Pokud přidáváte kousky kódu, které budou dávat smysl pouze při práci s tímto konkrétním tématem, pak můžete bezpečně použít functions.php (v podřízeném motivu). Zde je několik příkladů, kde by to bylo vhodné:

    • Přidání dalšího souboru stylů (.css) pro váš motiv
    • Změna délky úryvku příspěvku, aby web vypadal lépe
    • Přidání vlastních písem pro aktuální motiv
    • Přidání lokalizačního souboru pro překlad aktuálního motivu

    Jinými slovy, kdykoli přidáte nebo změníte cokoli související s konkrétním aktuálním tématem, můžete bezpečně použít functions.php.

    Kdy je lepší se obejít bez functions.php

    Použití functions.php k přidání více globálních věcí a funkcí, které byste teoreticky mohli potřebovat pro jiné téma, je špatný nápad.

    Zde je několik příkladů, kdy je lepší obejít se bez functions.php:

    • Vytvořte si vlastní widgety, které budete často používat
    • Vytváření vlastních krátkých kódů
    • Přidání kódu, který nezávisí na tématu (kód Google Analytics atd.)

    V takových případech je lepší uložit tento kód bez ohledu na vaše téma. A můžete to udělat pomocí vlastních pluginů.

    Přemýšlíte nyní o tom, že byste si lámali hlavu nad vytvořením pluginu, když můžete upravovat functions.php? Je to příliš těžké! Věřte mi, není to pravda. To se provádí velmi snadno a rychle.

    Jak nastavit vlastní plugin místo functions.php

    Chcete-li vytvořit svůj vlastní plugin pro uložení kódu, potřebujete:

    1. Vytvořte textový soubor se svým kódem a uložte jej jako soubor .php
    2. Zabalte výsledný soubor .php do archivu .zip
    3. Nainstalujte si tento archiv jako běžný plugin WordPress v nabídce Pluginy → Přidat nový

    To je vše, jen 3 kroky.

    Krok 1. Vytvořte soubor .php s vaším kódem

    Otevřete v počítači Poznámkový blok a vložte následující text:

    Samozřejmě můžete použít svůj vlastní název pro plugin v řádku Plugin Name:

    Uložte soubor a dejte mu jedinečný název, aby si WordPress nepletl váš plugin s již nainstalovanými. Například: wpcafe-custom-functions.php.

    Ano, nezapomeňte při ukládání vybrat typ souboru „Všechny soubory“ a přidat příponu .php:

    Krok 2. Vytvořte archiv .zip

    Myslím, že zde není třeba žádné vysvětlení. Stačí vytvořit archiv .zip se svým souborem pomocí libovolného vhodného archivátoru.

    Krok 3. Nainstalujte jako běžný plugin

    Nejjednodušší část. Stačí přejít ke svému administrátorovi WordPress na adrese Pluginy → Přidat nový a načtěte svůj archiv jako běžný plugin.

    Jakmile jej aktivujete, uvidíte svůj nový plugin v seznamu všech ostatních nainstalovaných pluginů:

    Jak přidat vlastní kód

    Chcete-li přidat vlastní fragment kódu, jednoduše jej vložte do souboru .php, který jste vytvořili. Nebo můžete vždy vytvořit další samostatný plugin pro dvě různé funkce.

    Takto by například vypadal váš soubor .php, pokud byste chtěli vytvořit krátký kód „Hello World!“:

    Tyto komentáře žádným způsobem neovlivňují výkon vašeho kódu ani rychlost provádění pluginu. Usnadní vám však navigaci a zapamatování si toho, co jednotlivé přidané funkce dělají.

    Stačí zabalit komentář do syntaxe lomítka a hvězdičky: /* Tvůj komentář */

    Po provedení změn v kódu můžete znovu nahrát soubor .php přes FTP nebo jednoduše vytvořit nový archiv .zip a nahrát jej jako nový plugin a smazat ten starý.

    Další způsoby, jak se vyhnout úpravám functions.php

    Celkově vzato, pokud jste si dostatečně jisti svými schopnostmi a víte, jak přidat kód do functions.php, neměli byste mít s vlastními pluginy žádné potíže. Není zde nic složitého.

    Ale naprosto dobře rozumíme, pokud se s tím vším nechcete pohrávat ručně. Koneckonců, toto je WordPress. Proto může být užitečné použít bezplatný plugin Code Snippets, který vám umožní snadno přidat další kód na web:

    Pomocí tohoto pluginu můžete přidávat různé úryvky s kódem, přidělovat jim název, popis a selektivně aktivovat a deaktivovat jeden nebo druhý kus kódu.

    Další skvělou funkcí je, že můžete importovat/exportovat fragmenty kódu mezi weby.

    Výsledek

    Může se to zdát jako malý detail, ale správné umístění dodatečného kódu vám v budoucnu umožní bez problémů přepínat mezi jinými tématy. Tuto či onu funkci můžete také povolit nebo zakázat jednotlivě, pokud každou další funkci rozdělíte mezi samostatné pluginy.

    Tato metoda si tedy opravdu zaslouží pozornost.

    Soubor funkcí je zábavným pomocníkem při rozšiřování funkčnosti webu! zvláště pokud se používá k zamýšlenému účelu - mnoho majitelů blogů/webových stránek však úžasně proměňuje functions.php v mizeru.

    V každém podnikání existují výhody a omezení (omezení, často logická), a proto je správnější přesunout nějaký spustitelný kód určený k regulaci parametrů jádra WP (ne tématu) mimo šablonu...

    Když se mluví o modernizaci funkčnosti webu, v řádku článků „bez pluginů...“ určitě radí strčit všechny bloky kódu do legendárního functions.php. Není to správné!

    Logičtější je přenést všechna čistě technická rozšíření (nesouvisející přímo se stylem šablony) do pluginu organizovaného pro jejich registraci.

    Pojďme to vytvořit! a také si povíme o pro a proti (kterých je podstatně méně)…


    Části článku:

    jak vytvořit svůj vlastní plugin

    V níže uvedeném textu se naučíme, jak vytvořit svůj vlastní plugin vlastníma rukama: pochopíme všechny detaily a nuance. Pojďme zjistit, jaké jsou klady a zápory (záporů je méně!! a spíše to nejsou zápory, ale ta či ona výhoda pro každého správce)

    jaký je rozdíl mezi souborem functions.php a pluginem

    Proč by se měl nějaký kód přímo související s funkčností webu přesunout do samostatného pluginu?

    Samotný funkční soubor, jeho účel a konzistence se neliší od pluginu (prostě plugin v tématu))! — jeho hlavním úkolem je obohatit konkrétní (aktivní) šablonu o užitečnou funkcionalitu.

    Například „navigace“, kde je logicky nabídka tlačítek zdobena CSS v souladu se stylem aktivního tématu - možná by bylo správnější ponechat to v kořenu šablony.

    Jaká je výhoda rozdělení souboru funkcí na samostatné soubory nebo samostatný plugin?

    Například ta nejbanálnější věc - rozhodli jste se změnit šablonu!? ...v důsledku toho dojde ke ztrátě veškerého funkčního vývoje, protože veškerý užitečný kód je umístěn v souboru funkcí (kdysi jsem viděl soubor o velikosti 750 kILO)

    Samozřejmě můžete přesunout dokumentaci funkcí do nového tématu, ale nejčastěji to nemůžete udělat bez úprav, které zabírají spoustu užitečného času: opice a práce)

    A pak:

    pořadí stahování souborů webu

    Stručně: pořadí načítání souborů jádra webu v našem příkladu je následující - aktivní pluginy webu (ze složky plugins) a jejich obsah se načtou o něco dříve a teprve potom se zpracuje soubor functions.php s obsahem. To vše jsou milisekundy a sotva stojí za to vážně mluvit o samotném zvýšení rychlosti stránky.

    I když se zdá, že jedním z důvodů pro toto pořadí načítání stanovené vývojáři, kde druhé místo je dáno souboru funkcí (např. pravděpodobně lehčí prvek), jen fakt rozšířeného používání pluginů, často s masivním obsahem...

    Někdo vykřikne: další plugin...? je to těžké!

    A já říkám, to žádnou rychlost neovlivní... spíše naopak, když k tvorbě webu přistoupíte promyšleně.

    Navíc výhoda přenosu nějakého kódu je zřejmá ještě jinak, totiž rychlost načítání stránek nezávisí na počtu aktivních pluginů, ale na jejich obsahu! Proč tedy nezmenšit funkční soubor, který se, jak již bylo zmíněno, načítá o něco později..? a kromě toho je to plnohodnotný masivní PLUGIN na úrovni šablony! Kam tedy jde většina jeho kódu?

    Dle mého názoru by (aktivní, pracovní) šablona měla obsahovat pouze parametry, které se jí konkrétně týkají.

    exkurze do aritmetiky...

    1. je načten později, otázkou je, proč jej nepřesunout na místo, kde se primárně provádí zpracování kódu, a proto se změny základních parametrů WP zadané správcem načtou rychleji a zpracují se v příslušné fázi webu zahájení?
    2. notoricky známá účelnost a logická organizace funkčnosti webu.
    3. pohodlí, které není nedůležité!

    Kromě toho, jak bylo řečeno, funkční soubor je stejný plugin - znovu se zeptám, proč do něj strkat všechno? a při práci se stránkou se zmást v obrovském, těžko čitelném kódu dokumentu, který je mimochodem svým obsahem neuvěřitelně a neoprávněně nabubřelý.

    Je jednodušší a logičtější vytvořit odlehčený plugin, nastavit ho a zapomenout na něj...

    Jedním slovem, každý se rozhodne sám za sebe: zda poslechnout vlastní zkušenost nebo názor autora určitého vzdělávacího článku.

    Kdežto WordPress by měl člověk studovat v knihovnách, ale ne z článků... z článků je možné čerpat jen tu či onu myšlenku...

    Něco takového)

    ...pro ty, které to zajímá:

    Všechna pravidla jádra (a mimochodem i pořadí načítání adresářů jádra)) si můžete báječným způsobem nastudovat v kódech WordPressu.

    ...jeden z následujících článků bude mít právě takové téma Baedeker! ...a odkazy na užitečné stránky.


    !..přihlášením k odběru aktualizací webu -
    ... rozejděme se s nevědomostí..!

    jak vytvořit plugin další soubor functions.php

    Dotyčný plugin je samozřejmě jednoduchým řešením, ale učení by se mělo začít od základů!

    Navíc k dosažení cílů uvedených v článku nejsou potřeba žádné výkonné pluginy!

    Přejdeme na ovládací panel hostingu (nebo pomocí FTP) a otevřeme správce souborů.

    Otevřete složku plugins a vytvořte v ní další adresář (složku pro naše soubory pluginů). Naprosto jakékoli jméno v latině. Jako příklad mám název „test“.

    Vezměte prosím na vědomí, že název pluginu v admin panelu bude stejný jako název uvedený v informační hlavičce Plugin Name: test (viz komentáře).

    Otevřete vytvořenou složku a vytvořte v ní hlavní soubor pluginu:

    ...se jménem řekněte moje-funkce.php a do jeho těla přidejte následující řádky (a název souboru může být naprosto jakýkoli)

    Řádky v komentářích jsou informace o pluginu, který se objeví v admin panelu (menu pluginů).

    Ihned po vytvoření složky a souboru se váš plugin objeví na panelu administrátora. Dívej se.

    Jako ex si ho můžete na chvíli aktivovat – ale nic se nestane, plugin je stále nečinný.

    To je vše!! Vznikl jednoduchý plugin, a to je pozoruhodné, vlastníma rukama a pro váš vlastní prospěch (jak říkával kocour Matroskin).

    V tomto okamžiku se opona show stahuje...
    ...na rampy padá smutný prach...

    Mimochodem, zde je užitečný film ze série „bez pluginů“ - podívejte se, přemýšlejte o tom, zda by měl být kód navržený ve videu ponechán v souboru funkcí?

    Relativně často publikuji různé úryvky pro WordPress, které hodně usnadňují život. A téměř vždy se soustředím na to, jak je správně zapojit.

    Samozřejmě je jednodušší a běžnější jít tradiční cestou a jednoduše vložit úryvek do souboru funkce.php vaše aktivní téma. Ale v 9 z 10 případů bude vhodnější a správnější umístit snippet kód do samostatného pluginu. Jako poslední možnost jej přidejte do speciálního funkčního pluginu pro váš web. T.N. Plugin WordPress pro konkrétní web, ve kterém budou uloženy všechny doplňkové funkce vašeho webu.

    Proč je to nutné?

    Dovolte mi to vysvětlit na jednoduchém příkladu. Řekněme, že jste vyvinuli web se složitou strukturou, spoustou vlastních datových typů, taxonomií, filtrů, nabídek, s podporou velkého množství vlastních polí a uživatelských nastavení. Veškeré úpravy, jak se v tomto případě sluší, umístíte do souboru funkce.php. Vše je v pořádku, ale uplyne nějaký čas a vy budete stát před úkolem redesignu. Budete chtít změnit nebo vytvořit nové téma. Tehdy začínají problémy. Protože všechny funkce webu integrované do starého motivu budou deaktivovány spolu s ním.

    Jak být

    Musíte pochopit jednoduchou pravdu. Soubor funkcí motivu by měl obsahovat pouze funkce, které jsou relevantní pro návrh vašeho webu. Konkrétně pro téma, jehož funkční soubor je upravován. A všechny tzv „mechanika“, funkční funkčnost webu a všechny jeho úpravy jsou správněji umístěny v pluginech. Nebo v jednom pluginu. Když pak změníte téma, zůstane nedotčeno.

    Vytvoření vlastního pluginu WordPress Features

    Ve skutečnosti se vše dělá velmi jednoduše.

    • Vytvořte složku v adresáři pluginů WordPress. Například: /wp-content/plugins/mysite-plugin/;
    • Vytvořte soubor v této složce a nazvěte jej např. my-plugin.php;
    • Do tohoto souboru vložte následující kód:
    • Přejděte do nastavení správy pluginu a aktivujte svůj nový plugin.

    Název, popis a komentáře ke kódu lze nahradit vlastními. Nyní můžete do tohoto pluginu umístit všechny potřebné úryvky a přizpůsobení. Bez obav ze ztráty funkčnosti webu při opětovné změně aktivního motivu.

    Zde se můžeme zastavit, ale nebylo by z mé strany úplně správné nezmínit tzv. pluginy MU.

    MU pluginy (musí používat pluginy)

    Pluginy MU jsou velmi užitečné v případech, kdy je zakázání pluginu nepřijatelné a může způsobit kritické chyby v provozu webu. Například na klientských stránkách. Chcete-li se vyhnout nesprávným akcím klienta v konzole správy webu.

    MU pluginy jsou povinné pluginy WordPress, které jsou nainstalovány ve speciálním adresáři a jsou vždy aktivní. Pluginy MU se nezobrazují v obecném seznamu pluginů stránek, existuje pro ně samostatná záložka. Lze je zakázat pouze přímým smazáním souboru pluginu MU z adresáře.

    Výhody MU pluginů

    • Zásuvné moduly MU není nutné aktivovat, jsou vždy aktivní a nelze je zakázat v konzole pro správu webu;
    • Plugin MU se připojí a aktivuje pouhým nahráním souboru pluginu do adresáře mu-plugins;
    • Zásuvné moduly MU se načítají v abecedním pořadí před načtením běžných zásuvných modulů.

    Upozorňujeme, že podadresáře pro pluginy MU na rozdíl od běžných nejsou podporovány. Jako poslední možnost si můžete vytvořit plugin a napsat do něj jednoduchý loader, který bude pluginy načítat z adresářů. Takhle:

    Konečně

    Jak vidíte, na používání funkčních pluginů není nic zásadně obtížného. A výhody jejich použití jsou zřejmé. Často jsem slýchal názor, že pluginy vytvářejí na webu nějakou neuvěřitelnou zátěž. Mnoho uživatelů má určité předsudky ohledně nebezpečí používání pluginů. Není to tak úplně pravda. Škodu mohou způsobit pluginy pro leváky, vyvinuté někým neznámým a stažené z neznámých zdrojů. Špatná optimalizace pluginu, používání zastaralých funkcí PHP a WordPress. Poškození může pocházet z velkého počtu současně spuštěných pluginů. Zejména s duplicitní funkčností. Je také možný banální konflikt mezi pluginy a pluginy s tématem. A s kompetentním a rozumným přístupem, pluginy přinesou vašemu webu výjimečné výhody.

    Přihlaste se k odběru mého telegramu a buďte první, kdo obdrží nové materiály, vč. které na webu nejsou.

    Ve WordPressu ve skutečnosti existují 2 různé přístupy k přidávání funkčních prvků do postranního panelu nebo zápatí blogu – pomocí widgetů a také přidávání PHP kódu a speciálních funkcí WordPressu do souborů šablon. První možnost je pohodlnější pro uživatele bez silného technického vzdělání, je velmi jasná a jednoduchá, druhá je pro vývojáře, kteří chtějí spravovat všechny nuance zobrazovaných informací. Někdy ale vyvstane úkol, když potřebujete tyto 2 přístupy zkombinovat. Nejjednodušší příklad je, když vytvoříte web pro zákazníka – měl by obdržet funkční admin panel s některými jednoduchými (!) možnostmi pro správu projektu. Nebudete ho seznamovat s různými funkcemi WordPressu, jaké tam jsou parametry, jak fungují atd. V tomto případě se bez widgetů neobejdete.

    Aktualizace 19.06.2019: Dle posledních údajů nebyl widget PHP Code aktualizován dva a více let, takže jako alternativu radím věnovat pozornost pokročilému, který kromě PHP pracuje s JavaScriptem, HTML/CSS a shortcodes - univerzální věc!

    Postup jsem již popisoval v jednom z předchozích příspěvků, není to tak složité, jak by se na první pohled mohlo zdát. Ačkoli v zásadě téměř všechna témata WordPress již nativně podporují widgety. Druhou nuancí v této věci je, že ne všechny problémy lze vyřešit pomocí standardní sady widgetů, které mají pouze základní nastavení - název a několik možností. Zatímco WP poskytuje mnohem více funkcí, které je někdy nutné použít. Vezměte si například widget „Poslední příspěvky“ a porovnejte jej s – widget vám umožní vybrat pouze počet odkazů v bloku, bez řazení, designu nebo typu archivu. Widgety jsou pohodlné, ale často poskytují jen málo možností. Co v této věci pomáhá, je přidávání kódu PHP přímo prostřednictvím widgetů pomocí pluginu PHP Code Widget.

    Plugin PHP Code Widget

    Tento plugin přidává do WordPressu nový typ widgetu, který je velmi podobný standardnímu textovému bloku. Říká se tomu PHP kód. Plugin si můžete stáhnout, instalace je standardní - zkopírujte soubor pluginu do /wp-content/plugins/, aktivujte jej v admin panelu, poté se na stránce widgetů objeví nový prvek.

    Chcete-li přidat php kód, jednoduše přetáhněte widget na požadované místo v panelu widgetů šablony a do textového pole napište svůj php kód. Je důležité použít správnou syntaxi, aby nedocházelo k chybám a interpret interpretoval kód tak, jak má! Jak vidíte, plugin je extrémně jednoduchý na používání, testoval jsem ho na pár stránkách, kde funguje skvěle.

    Co se týče pluginu PHP Code Widget, samotný princip přidávání kódu prostřednictvím widgetů pomůže uživateli zcela přejít na práci se šablonou prostřednictvím mechanismu widgetů. I když uživatel není příliš technický, postup pro deaktivaci nebo změnu určitých prvků šablony bude mnohem jednodušší než hledání požadovaného kusu kódu v souborech šablon. Pomocí tohoto přístupu můžete také snadno pracovat s již vytvořenými pracovními stránkami, které podporují widgety a kde je třeba provést nějaké změny. Například přidáním sape kódu do WordPressu – prostřednictvím widgetů bude uživatel schopen pochopit, kde a co se zobrazuje. Nebo vám bylo nařízeno vyvinout nějaké změny na webu a implementovat je do souborů šablon není tak snadné - řekněme, že existuje blok s kartami, kde potřebujete zobrazit informace v jedné ze záložek - je to velmi nevhodné odstranit zásuvné moduly, poté přidat jejich podporu ručně prostřednictvím šablony a poté vložit kód pro požadované změny. Je mnohonásobně snazší nainstalovat plugin PHP Code Widget a přidávat informace do karet prostřednictvím widgetů.

    Obecně nelze říci, že je vždy potřeba přidávat PHP kód pomocí widgetů, ale někdy takový úkol, jak vidíte, může nastat. V tomto případě PHP Code Widget pomůže vyřešit všechny problémy snadno a rychle. Takový jednoduchý, ale velmi užitečný modul.

    P.S. Objednávání knih online je ještě jednodušší – speciální internetové knihkupectví má široký výběr produktů, dostupné ceny a doručení přímo k vám domů.
    Automechanici Odessa umí vše, pokud potřebujete startéry a generátory automobilů v Oděse, kupte si je nebo si je objednejte společně s instalací - žádný problém, kontaktujte Starter.od.ua.

    Zdravím vás přátelé. Dnes zjistíme, jak zajistit, aby jakýkoli PHP kód fungoval ve widgetech, článcích a na stránkách WordPress. Ve výchozím nastavení není taková funkce v tomto CMS dostupná a maximum, se kterým může uživatel počítat, je implementace HTML kódu.

    Proč PHP kód ve výchozím nastavení nefunguje

    Zdálo by se, proč vývojáři neodměnili tak populární a pohodlný engine s užitečnými schopnostmi pro automatické provádění kódu PHP. Nejprve jsem o tom přemýšlel, ale dospěl jsem k závěru, že tato politika je uplatňována z bezpečnostního hlediska, protože nešikovné použití PHP ve widgetech nebo uvnitř příspěvků může vést k nenapravitelným následkům - něco se rozbije v databázi a celém webu havaruje.

    Práce s PHP je proto ponechána na programátorech či lidech v této věci více či méně pokročilých – případné skripty se spouštějí přímo v souborech.

    U veřejných stránek (kde je několik autorů) zvyšuje spuštění PHP v těle článku riziko záměrné sabotáže, protože každý autor může získat plný přístup k webu prostřednictvím okna pro úpravy článku.

    Podle stupně nebezpečí bych celou tuto situaci rozdělil do 3 úrovní:

    1. Ponechat vše tak, jak vývojáři zamýšleli, je obtížné web bezpečně, náhodně nebo úmyslně poškodit.
    2. Povolit spuštění PHP ve widgetech – střední stupeň nebezpečí, přístup má pouze správce webu.
    3. Používání kódu všude je nebezpečné, protože kdokoli, kdo smí upravovat články a stránky (moderátoři, autoři), může web spravovat.

    Proč potřebujete PHP ve widgetech?

    Otázka je individuální, protože pomocí tohoto programovacího jazyka lze implementovat cokoli. Osobně mě k napsání tohoto příspěvku přiměla objednávka klienta, jehož webové stránky právě stavím. Bylo nutné zobrazit v postranním panelu v samostatném widgetu seznam novinek z jedné kategorie – „Novinky“. Standardní widgety WordPress tuto funkci nemají.

    Otázka byla mezi nalezením pluginu s odpovídajícími schopnostmi nebo použitím jednoduchého PHP kódu. Skript pro takový úkol je opravdu malý a nechtělo se mi načítat web s extra pluginem, který by se jinde nepoužil.

    Obecně platí, že povolením spuštění PHP můžeme vyřešit 2 problémy:

    • Nahradit některé pluginy webu skripty a snížit tak zatížení hostingu;
    • Implementujte funkce, pro které pluginy ještě neexistují.

    V první fázi budu mluvit o widgetech a poté v samostatném bloku o výstupu kódu v obsahu.

    PHP pluginy ve widgetech

    Výhoda pluginů: Při změně WordPress motivu nedochází k narušení funkcí přidaných do šablony, vše funguje dál bez nutnosti zásahu webmastera. Háčky přidané do šablony při změně motivu bude nutné přenést do nového ručně.

    V mém příkladu výše dělám pro klienta web a pokud si chce sám změnit design, tak zmizí nastavení provedená přes soubory functions.php a další, takže mu to maximálně usnadňuji pro správu webu spoléhající na pluginy (zejména v jeho specializovaném provozu je malý a nebude se moc zatěžovat).

    Widget PHP kódu

    Tento plugin ve své práci používám již delší dobu, přidává do seznamu dostupných widgetů, podobně jako běžný textový, schopný kromě textu a HTML zpracovávat pouze PHP.

    PHP Code Widget je přítomen v oficiálním úložišti WordPress a lze jej snadno najít podle názvu. Jak nainstalovat takové pluginy.

    Nejsou nutná žádná nastavení, widget se objeví v seznamu ihned po instalaci a aktivaci pluginu. Přetáhněte „PHP Code“ na postranní panel a přidejte tam libovolný skript.

    PHP ve widgetu WordPress bez pluginu

    V tomto případě budeme potřebovat háček, který nahradí standardní funkci umožňující práci textového widgetu WordPressu s funkcí umožňující zpracování PHP.

    Tento háček je přidán do souboru functions.php aktuálního tématu (úplně na konci před uzavírací závorkou?>). Poté se neobjeví žádné nové možnosti widgetu, jako je tomu u pluginu, PHP kódy začnou fungovat ve standardním textu.

    Připravený kód:

    Add_filter("text_widgetu"," text_html_php_widget ",100); function text_html_php_widget($text) ( if(strpos($text,"".$text); $text = ob_get_contents(); ob_end_clean(); ) return $text; )

    Na prvním řádku je filtr, který při každém zavolání nahradí standardní funkci textového widgetu novou - text_html_php_widget a poté následuje popis samotné nové funkce.

    Proč PHP kód v článcích a příspěvcích WordPress

    Uvnitř příspěvků je spustitelný PHP kód vyžadován mnohem méně často než ve widgetech, takže v první části článku jsem se samostatně podíval na postranní panel, abyste se mohli vyhnout zbytečnému připojování potenciálně nebezpečných funkcí.

    Ale i v příspěvcích je potřeba používat skripty. Nejběžnějším příkladem je zobrazení mapy webu bez pluginu. Je pravda, že pro mapu můžete použít jinou techniku ​​- vytvořte speciální šablonu stránky (toto je samostatné téma).

    Jednou jsem potřeboval výstup PHP pro následující účel:

    Vytvořil jsem video web. Epizody série se zobrazovaly v playlistech podle sezón a pod každým playlistem sezóny bylo nutné zobrazit seznam epizod s odkazem na vaši stránku. Vypadá to jako mapa stránek, jen je to složitější - závěr se musel udělat ze seznamů jednotlivých sekcí. Každý odkaz bylo možné zadat ručně pomocí HTML kódu, ale epizod je několik stovek a postup je zdlouhavý. Navíc, pokud by se objevila nová série, musel by se odkaz na ni přidat ručně - nepohodlné. Rozhodl jsem se tedy pro implementaci využít funkce PHP.

    Plugin pro spouštění PHP v obsahu Exec-PHP

    Navzdory tomu, že tento plugin nebyl 7 let aktualizován, svou práci plní perfektně. A vybral jsem si ho z nějakého důvodu - nepoužívá žádné krátké kódy, jako jeho konkurenti, ale umožňuje vkládat čistý kód do příspěvků WordPress, počínaje .

    Zásuvný modul Exec-PHP je v úložišti a instaluje se prostřednictvím nabídky na panelu správce motoru.

    Z nastavení je pouze jedno - povolení/zákaz spouštění kódu v textovém widgetu, chybí možnost zakázat práci v příspěvcích a na stránkách, pokud ji potřebujete odstranit, deaktivovat plugin.

    Pro vložení PHP kódu do článku je nutné jej přepnout do HTML režimu (záložka Text). Vizuální režim s největší pravděpodobností zkazí kód.

    Spouštění PHP kódu v článcích WordPress bez pluginu

    Analogicky s widgety můžeme plugin nahradit speciální funkcí, která umožňuje spouštění PHP skriptů v obsahu. Bohužel se mi nepodařilo najít možnost, ve které by kód fungoval automaticky jako v případě pluginu, reagujícího na tagy. Vyžaduje použití krátkého kódu. Moje znalost PHP nestačila na to, abych požadovanou funkci napsal sám, a tak ji uvádím tak, jak je. Práce s krátkým kódem má značnou nevýhodu, která práci komplikuje, rozeberu ji níže.

    Jak používat funkci níže

    1. Vložíme jej do souboru functions.php tématu;
    2. Na správné místo v článku vložíme konstrukci - spustitelný kód bez

    Funkce:

    /* Spouštění php v článcích a stránkách WordPress: kód */ function start_php($matches)( eval("ob_start();".$matches."$inline_execute_output = ob_get_contents();ob_end_clean();"); return $inline_execute_output ; ) function inline_php($content)( $content = preg_replace_callback("/\((.|\n)*?)\[\/startphp\]/", "start_php", $content); $content = preg_replace( "/\((.|\n)*?)\[\/startphp\]/", "$1", $obsah); return $obsah; ) add_filter("the_content", "inline_php");

    Chyba

    Pokud vložený PHP kód obsahuje HTML inserty nebo text, nebude fungovat. Jakýkoli text nebo značky bude nutné vložit pomocí příkazu echo, což není vždy vhodné. To znamená, že kód musí být čistě PHP se 100 správnými formáty.

    Že jo

    Echo "Takhle to bude fungovat";

    Špatně

    Echo "Tento řádek je správný"; Takhle to nepůjde

    V pluginu Exec-PHP takový problém není – provede se text i HTML, ale všechny prvky PHP kódu musí být zarámovány do příslušných značek.

    Pro mnoho webmasterů otevírá téma popsané v tomto článku nekonečné možnosti kreativity - můžete implementovat něco, co dříve nebylo možné, a také se zbavit spousty pluginů a nahradit je různými filtry, funkcemi a háčky.