✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Mallar och villkorlig logik med OOP i WordPress

6

Mallar blir allt vanligare i WordPress, och jag anser att det är bra.

Men det betyder inte att det inte finns projekt som vi hanterar som använder en mer traditionell metod för att visa mallar eller delar. Dessutom betyder det inte heller att vi är undantagna från att underhålla kodbaser som använder kod som inte använder en mallmotor.

Även om jag tycker att mall är bra, tror jag inte att det alltid är nödvändigt. Det är dock innehåll för ett annat inlägg.

Istället vill jag gå igenom processen med att använda den villkorliga logiken om huruvida en partiell ska visas eller inte i en mall och göra det med hjälp av objektorienterad programmering.

Mallar och villkorlig logik med OOP

För att göra detta, låt oss anta följande:

  1. Vi har ett plugin som är beroende av ett annat plugin för en funktion.
  2. Det andra pluginet är valfritt.
  3. Om det inte finns, kommer vi att visa ett meddelande. Om den finns visar vi en del.

Rakt fram nog, eller hur?

Det enda att notera är att all denna logik kommer att hållas inom det primära insticksprogrammet (det vill säga den som kommer att kontrollera närvaron av det andra insticksprogrammet).

1 Mallens villkorliga logik

Det första som måste göras är att ha en funktion som kontrollerar närvaron av den sekundära plugin. Anledningen till detta är att mallen ser ut ungefär så här:

Och sedan kan den partiella se ut ungefär så här (det beror på din implementering):

På grund av hur mallar ingår i WordPress kommer funktionen att leva i en klass, och klassen kommer att kontrollera om plugin-programmet finns.

Om du använder någon kodsniffer kommer det troligen att utlösa en varning om att metoden inte används, men metoden används, den används bara i en mallfil. Notera i en klass. Allt detta att säga, vissa av våra sniffers är inte så intelligenta. Än.

2 Pluginens kod på serversidan

När du har fått den allmänna uppfattningen om hur det kommer att fungera, är det dags att skriva kod i din klass.

Kom ihåg att detta är en enkel funktion: Den behöver bara kontrollera om det finns ett plugin. Du kan göra detta på några sätt, men det vanligaste kan vara att använda API-funktionen is_active_plugin.

Observera att när du använder den här funktionen bygger det på tanken att du vet namnet på pluginet du använder. Om inte, finns det andra sätt, men det ligger utanför ramen för detta inlägg.

Hur som helst, så eftersom logiken är villkorad måste den returnera ett booleskt värde, och det är precis vad ovanstående API-funktion gör. Så funktionen på serversidan kan se ut ungefär så här:

Och eftersom mallkoden anropar den här funktionen (som du ser ovan), kommer den att avgöra om den behöver visa en partiell eller inte.

Lätt nog

För vissa är det här väldigt enkla saker; för andra är det ett helt annat tillvägagångssätt eftersom det handlar om större separation av bekymmer.

Och när jag fortsätter att arbeta genom OOP Fundamentals med sajtens medlemmar, tror jag att det är viktigt att också dela några av de bättre metoderna med dem som kanske inte är medlemmar men som är angelägna om att skriva mer organiserad kod.

Inspelningskälla: tommcfarlin.com

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer