training WordPress Gevorderd

Je volgt de training WordPress Gevorderd. Deze pagina dient ter ondersteuning en voorziet in aanvullende informatie. Dit is ook gelijk de meest recente versie. Het kan goed zijn dat je hard copy verouderd is.
Het werkt ook als je deze pagina opent op je mobiele telefoon, zodat je toch nog een soort van 2 schermen hebt 😉

Presentatie

1 – WordPress en de context

Volledige scherm modus

2- Server – client communicatie

Volledige scherm modus

Request

GET /wiki/Hoofdpagina HTTP/1.1
Host: nl.wikipedia.org
Connection: close
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3
Accept: text/xml,text/html,text/plain,image/png,image/jpeg,image/gif
Accept-Charset: ISO-8859-1,utf-8

Response

HTTP/1.1 200 OK
Date: Thu, 08 Apr 2004 18:24:33 GMT
Server: Apache/1.3.29 (Unix) PHP/4.3.4
X-Powered-By: PHP/4.3.4
Content-Language: nl
Content-Type: text/html; charset=iso-8859-1
X-Cache: MISS from wikipedia.org
Connection: close
Content-Type: text/html
Content-Length: 49

<html>
<head>
</head>
<body>
</body>
</html>

Status

 100 - Mededelend
    100: Doorgaan
    101: Protocolwissel
    102: Processing

 200 - Goed gevolg

    200: OK
    201: Aangemaakt
    202: Aanvaard
    203: Niet-gemachtigde informatie
    204: Geen inhoud
    205: Inhoud opnieuw instellen
    206: Gedeeltelijke inhoud
    207: Meerdere statussen

300 - Omleiding

    300: Meerkeuze
    301: Definitief verplaatst
    302: Tijdelijk verplaatst
    303: Zie andere
    304: Niet gewijzigd
    305: Gebruik Proxy (*: vele HTTP-clients (zoals Mozilla en Internet Explorer) gaan, wegens veiligheidsredenen, slecht met deze code om.)
    306: (Gereserveerd)
    307: Tijdelijke omleiding
    308: Definitieve omleiding

400 - Aanvraagfout

    400: Foute aanvraag
    401: Niet geautoriseerd
    402: Betaalde toegang
    403: Verboden toegang
    404: Niet gevonden
    405: Methode niet toegestaan
    406: Niet aanvaardbaar
    407: Authenticatie op de proxyserver verplicht
    408: Aanvraagtijd verstreken
    409: Conflict
    410: Verdwenen
    411: Lengte benodigd
    412: Niet voldaan aan vooraf gestelde voorwaarde
    413: Aanvraag te groot
    414: Aanvraag-URL te lang
    415: Media-type niet ondersteund
    416: Aangevraagd gedeelte niet opvraagbaar
    417: Niet voldaan aan verwachting
    418: I'm a teapot (1-aprilgrap; zie HTCPCP) (gedefinieerd in RFC 2324[1])
    419: Pagina verlopen (Onofficiële http code van Laravel)
    422: Aanvraag kan niet verwerkt worden
    423: Afgesloten
    424: Gefaalde afhankelijkheid
    426: Upgrade nodig
    428: Voorwaarde nodig
    429: Te veel requests
    431: Headers van de aanvraag te lang
    450: Geblokkeerd door Windows Parental Controls (niet-officiële HTTP-statuscode)
    451: Toegang geweigerd om juridische redenen.[2] De code is een toespeling op de roman Fahrenheit 451.
    494: Request Header Too Large (Nginx), Deze header lijkt op header 431 maar wordt gebruikt door nginx
    495: Cert Error (Nginx), Wordt gebruikt door Nginx om een normale fout te melden en die van een certificaat error in de logboeken te onderscheiden.
    496: No Cert (Nginx), Wordt gebruikt door Nginx om een missend certificaat te melden en de foutcode te onderscheiden van een normale fout.
    497: HTTP to HTTPS (Nginx): Interne code van Nginx om aan te geven dat er een http aanvraag is op een https port
    498: Token expired/invalid (Esri): Een code van 498 geeft aan dat het token verlopen of ongeldig is.
    499: Token required (Esri): Wordt weggegeven door Esri dat er een token nodig is wanneer er geen is gegeven

500 - Serverfout

 500: Interne serverfout
501: Niet geïmplementeerd
502: Bad Gateway
503: Dienst niet beschikbaar
504: Gateway Timeout
505: HTTP-versie wordt niet ondersteund
509: Bandbreedte overschreden (niet-officiële HTTP-statuscode)
510: Niet verlengd
511: Netwerkauthenticatie vereist
522: Connectie duurt te lang (Cloudflare)
525: TLS-handshake mislukt (Cloudflare)

3 – Domein en Hosting

Volledige scherm modus

4 – FTP

Volledige scherm modus

5 – LocalWP

Volledige scherm modus

6 – Plugins

Volledige scherm modus

WordFence

Import WordFence Options

ab519ece671603eb3a1e7da5308d1180614d27c84e8ca62bc7a4606903b4eb0c953d5fb3567f713a8f4588a3741f13925d334c96ca9dcf5a300311c2cca7bc43

7 – Child theming

Volledige scherm modus

Er zijn twee manieren om een child theme toe te passen (in de voorbeelden gebruik ik Twenty Twenty One als parent thema).
Maak twee bestanden en geef die de naam zoals boven de code blokken staat aangegeven. Kopieer en plak te code er in. Zip het geheel en noem het bestand: twentytwentyone-child.zip. Dit bestand kun je gebruiken om een thema te installeren via ’thema uploaden’.

style.css

/*
 Theme Name:   Twenty Twenty One Child
 Theme URI:    http://jouwdomein.nl/twenty-fifteen-one-child/
 Description:  Basic Child theme constructie: 2 bestanden. Template variabele moet 1 op 1 gelijk zijn aan de mapnaam van het parent theme;
 Author:       Piepo de Clown
 Author URI:   http://piepodeclown.nl
 Template:     twentytwentyone
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         no search function, different 404 functionality
 Text Domain:  twentytwentyone-child
*/

functions.php

<?php
/*
Bepaal de wachtrij voor de thema bestanden. Je hoeft hier niets aan te wijzigen, de wachtrij gaat op zoek naar style.css van het parent theme, die bronnen worden eerst opgehaald, als dat is gebeurd wordt alles in 
de map van het child theme opgehaald, geparsed. Zonodig worden dan style
declaraties of html/php in template bestanden overruled. 
*/
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
    $parenthandle = 'parent-style'; 
    $theme = wp_get_theme();
    wp_enqueue_style( $parenthandle, get_template_directory_uri() . '/style.css', 
        array(),  
        $theme->parent()->get('Version')
    );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(),
        array( $parenthandle ),
        $theme->get('Version') 
    );
}

Als dit ingewikkeld niet lukt, kun je ook onderstaande zip downloaden. Via ‘reverse engineering’ kun je het principe achterhalen en gelijk verder gaan met de volgende stap. Je thema aanpassen.

Elk templatebestand wat je nu overbrengt van het parent – naar het child thema, kun je ongestraft gaan bewerken. Het origineel bestaat immers nog in het patent thema, maar zal niet worden gebruikt omdat WordPress dit ook in de child heeft aangetroffen.

Tweaken

Het wijzigen van het design van een thema heet tweaken. Dit is wat meer een sprong in het diepere water voor de non-techneuten onder ons. Dus heb ik besloten om dat proces verder in de training WordPress Code te bespreken.

8 – Bronnen

Hoverify (All-in-one browser extension for web development)

Tips hoe je gebruik kunt maken van de Browser Inspector

Browser Developer Tools

CSS Gradient generator

Layered box shadow tutorial