mar 12, 2025

Tilgang via ssh uden kode

Indtil nu var det nødvendigt at angive en kode for at komme til sit webområde på webhotellet via SSH. Men hvis man opretter en sikkerhedsnøgle, der sikkerhedsgodkender den lokale computer, behøver man ikke at angive en kode, når man logger ind til fjernkomputeren via SSH. Det er den såkaldte SSH nøgle. Det gøres som følger:

  1. Man åbner PowerShell, og skriver >cd ~      for at komme til hjemme-mappen, – på Windows er det som regel C:\users\brugernavn
  2. Udfør >ssh-keygen -t ed25519 -C din-email@gmail.com   Man kan også bruge RSA i stedet for ed25519. I mit tilfælde vil det så blive til  >ssh-keygen -t ed25519 -C kgepel@gmail.com  Tryk Enter, og serveren svarer som følger:
    Generating public/private ed25519 key pair.
    Enter file in which to save the key (C:\Users\Konra/.ssh/id_ed25519):
  3. Hvis du her trykker på Enter, spørger den om du vil angive en passphrase, her trykker du også bare på Enter
  4. Herved oprettes nøglefilerne i en mappe, \.ssh og filerne er known_hosts, id_ed25519 og id_ed25519.pub. Samtidigt genererer den et „fingerprint‟ kode med e-mailen til sidst
  5. Nu skal du kopiere indholdet af id_ed25519,pub til clip-board. (det kan du gøre ved at bruge „cat‟ kommandoen
  6. Så logger du på fjernkomputeren, brugernavn@ssh-server, i mit tilfælde >ssh kg-epel.dk@ssh.kg-epel.dk
  7. angiv din kode, og derefter er du inde
  8. udfør nu cd ~ for at komme ind i home mappen, og hvis du udfører en ls -a   kommando får du listet alle filer, også de skjulte
  9. opret mappen .ssh og udfør cd .ssh
  10. udfør touch authorized_keys
  11. og derefter nano authorized keys
  12. Kopier clipbordets indhold ind i filen, det er den offentlige nøgle. Og den private ligger inden i id_ed25519
  13. Gem filen og log ud fra fjern-komputeren. Næste gang, hvor du logger ind skal du ikke angive adgangskoden

 

 

More Details
feb 22, 2025

Git og SSH overblik 2

Når man så har fået oprettet sit Git repository lokalt, så skal man så overføre dette til fjern webstedet

For at arbejde videre på fjernkomputeren, skal man også have installeret ssh på computeren, på Windows er den installeret i den indbyggede PowerShell. Ellers skal man hente den ned for at installere

Følgende gælder for webhotellet one.com. Og for andre kan der være lidt anderledes syntaks. Følg følgende trin:

  1.  Opret adgang til fjern-webområde kontrolpanelet på webhotellet ved at aktivere adgangen til SSH/AFTP ved at markere markere den som aktiv. Her kan du også se brugernavn og servernavn, i mit tilfælde kg-epel.dk  og server ssh.kg-epel.dk
  2. Klik på Send for at få en adgangskode.
  3. Åbn en terminal, hvor ssh er installeret og tast >brugernavn@servernavn, i mit tilfælde bliver det til
    >kg-epel.dk@ssh.kg-epel.dk
  4. Første gang man logger på skal man give tilsagn om at forbindelsen er sikker, og svarer >yes, derefter beder den om koden,
    Og man skriver sin kode og trykker enter
  5. Hvis alt er gået godt, så er man nu nået til fjernkomputerens web-område
  6. Skriv >cd /www retur for at komme ind i dit domæneområde. hvis du udfører ls – så lister den alle mapper med blåt, filer med grønt og enkelte simple filer med hvidt, – hvis du udfører dir-kommando får du ikke denne klassifikation
  7. Nu skal du bruge kommandoen mkdir til at oprette en mappe, som er fjernkomputerens repository for underdomænet, fictional, det har jeg kaldt „fictionalRepo‟. Man kan bruge kommandoen >pwd for se den aktuelle sti.
  8. Og vi skal så oprette repositoret, som bare repository. Udfør >cd fictionalRepo
  9. og >git init –bare   Serveren svarer „initialized empty Git repository in /www/fictionalRepo‟ „bare‟ betyder her „tomt repository‟
    Repositoriet er oprettet, og indeholder en række mapper, bl. a hooks.
  10. vi udfører nu >cd hooks og derefter >touch post-receive. Noter, at navnet er obligatorisk
  11. I denne fil skal der angives vejen fra fjern-repositoriet til, man kan bruge editeringsredskabet: nano ved
    >nano post-receive Du kommer ind i et gammeldags editeringsprogram, og i mit tilfælde skal filen indeholde følgende:
    #!/bin/bash
    git –work-tree=/www/fictional/wp-content –git-dir=/www/fictionalRepo checkout -f
  12. #!/bin/bash i første linje betyder at filen skal opfattes som en bat fil (men i Linux). Her skal man så give filen lov til at eksekvere ved:
    >chmod +x post-receive
  13. Du gemmer indholdet og går ud af filen og ud af ssh, så du (stadigt i PowerShell i den mappe, der indeholder dit lokale repository
  14. Derefter skal du oprette en forbindelse fra det lokale repository til fjern repositoriet ved at udføre
    >git remote add livecom ssh://kg-epel.dk@ssh.kg-epel.dk/www/fictionalRepo
  15. Det sidste vi skal udføre er at ændre navnet fra det lokale repository til at være det samme som fjern-repositoriet. Det gør vi med:
    >gik checkout -b master. Når det så er lavet, så kan du udføre
  16. >git push livecom master

Uheldigvis virker bat-programmet ikke i one.com, men man kan eksportere ændringerne videre ved at udføre fra fjern-repositoriet som følger >sh hooks/post-receive 

 

 

 

Git repository lokalt.

Nøgle URL for One.Com webhotel.

Fjern repository skal refereres som følger (når man uploader fra lokal computer)
>git remote add livecom ssh://kg-epel.dk@ssh.kg-epel.dk/www/fictionalRepo
Og her hedder forbindelsen „livecom‟ og man refererer URL ved først at angive ssh://  efterfulgt af brugernavn@ssh-server og stien til repositoriet, ( som man har oprettet i forvejen).

For at flytte opdateringen fra fjern repositoriet til webstedet, skal man udføre filen post-receive, som er i mappen hooks i fjernrepositoriet. Der skal stå som følger i denne fil, når det er på one.com;

#!/bin/bash
git –work-tree=/www/fictional/wp-content –git-dir=/www/fictionalRepo checkout -f

Og når man opdaterer fra lokal til fjern computer

>git push livecom master
Her er det så meningen, at det lokale repository opdateres til fjern repositoriet, som via hooks/post-receive opdaterer websiden med de nye data. Altså det der sker er

  1. Man ændrer på lokal-webstedet
  2. Ændringerne tilføjes i lokal repositoriet, og committeres
  3. Lokal repository uploades til fjern repository
  4. Opdateringerne i fjernrepository opdateres til fjernwebstedet
    Første gang login på ssh
    Første gang man logger på ssh på fjernkomputeren

    Klik på billedet for at se i fuld størrelse.

     

 

 

 

More Details
feb 15, 2025

Git og SSH overblik 1.

I stedet for at bruge ftp eller sftp, så er opdatering af websider via Git og ssh en mere sikker løsning. Det foregår på følgende måde.

For at teste om git er installeret skriv
>git -v (return)

Hvis git er installeret får du versionsnummeret, fx som ovenfor, og ellers kender den ikke kommandoen.
Hvis ikke, så går man til webstedet, git-scm.com/, downloader git, og installerer. Måske skal man også opdatere path-variablen.

Når git er installeret er der nogle indledende øvelser, man skal foretage, da det er første gang. Skriv:

>git config –global user.name „dit navn‟  og
>git config –global user.email „din email‟

Når man skal bruge git, skal man associere den mappe, der skal spores (track). Og det anbefales kun at spore sine egne ændringer/udvikling. Så i WordPress miljø er det hverken wp-admin eller wp-include

  1. På det lokale websted opretter man nu et repository. I WordPress giver det god mening at lave den ud fra wp-content. Eftersom man ikke skal lave noget i Adminstrationen. eller i wp-includes. Fordi at  ingen af selve webændringerne findes der lokalt. Løsningen bliver derved, når vi snakker om WordPress, at vi så følger wp-content.
  2. I Visual Studio Code = VS Code. skal man åbne den mappe man ønsker at følge (file – open folder), der skal man have overblik over de mapper, der findes. Og når man så åbner terminal, så er pointeren netop på denne mappe
  3. Skriv
    wp-content>git init    – og så laver den en mappe, som hedder   wp-content/.git, som er et repository
    Projektet (eller grenen) hedder „main‟
  4. Nu skal du vælge mappe(r), som ikke skal følges. Disse skal listes i en fil i mappe wp-content, som hedder .gitignore
    Klik her for forstørrelse
  5. Du kan så adde en mappe eller fil ad gangen, eller du kan tage dem alle i et hug fx
    wp-content>git add mu-plugins    – eller det hele
    wp-content>git add -A. Hvis du nu udfører >git status   – så lister den alle filer, der skal ind i repositoriet
  6. Så nu har vi specificeret hvilke filer der skal med. For at effektuere det udfører man en commit:
    wp-content>git commit -m „Vi committerede filerne til repositoriet‟.
  7. Hvis så laver noget om uden at udføre en commit, så kan du få det hele tilbage ved at udføre
    wp-content>git checkout — .   Derved bringes alle filer i track til samme tilstand, som de blev tilføjet og committeret

Billedet viser hvilke mappe og filer er listet i filen .gitignore

Git og GitHub handler om repository, hvor alle ændringer skal kommitteres, hvilket vil sige, at der føres versionskontrol, med det pågældende repository.

Jeg har selv implenteret Git og ssh via Visual Studio Code, – og begge skal installeres inden det kan bruges. For at kontrollere, at du har git installeret, så skal du åbne PowerShell

 

 

For at arbejde videre på fjernkomputeren, skal man også have installeret ssh på computeren, på Windows er den installeret i den indbyggede PowerShell.

Git repository lokalt.

Nøgle URL for One.Com webhotel.

Fjern repository skal refereres som følger (når man uploader fra lokal computer)
>git remote add livecom ssh://kg-epel.dk@ssh.kg-epel.dk/www/fictionalRepo
Og her hedder forbindelsen „livecom‟ og man refererer URL ved først at angive ssh://  efterfulgt af brugernavn@ssh-server og stien til repositoriet, ( som man har oprettet i forvejen).

For at flytte opdateringen fra fjern repositoriet til webstedet, skal man udføre filen post-receive, som er i mappen hooks i fjernrepositoriet. Der skal stå som følger i denne fil, når det er på one.com;

#!/bin/bash
git –work-tree=/www/fictional/wp-content –git-dir=/www/fictionalRepo checkout -f

Og når man opdaterer fra lokal til fjern computer

>git push livecom master
Her er det så meningen, at det lokale repository opdateres til fjern repositoriet, som via hooks/post-receive opdaterer websiden med de nye data. Altså det der sker er

  1. Man ændrer på lokal-webstedet
  2. Ændringerne tilføjes i lokal repositoriet, og committeres
  3. Lokal repository uploades til fjern repository
  4. Opdateringerne i fjernrepository opdateres til fjernwebstedet

 

 

 

More Details
jan 23, 2025

Brug af SSH via Git

Git

For at bruge Git, skal du først installere det, og evt. tilføje den i miljøvariablen „path‟
1. åbn visual studio code, og naviger til den mappe, som du vil lave repository for
2. De mapper/filer, der ikke skal med skal nævnes i en fil i den folder som hedder .gitignore
    Disse bliver ikke inkluderet, når man vælger „commit‟
3. Når du har valgt alle filer/mapper der ikke skal med, så udfør >git add -A
4. Udfør >git commit

Hvordan Logger man på ssh

  1. For at kunne bruge ssh i one.com skal du have enthusiast pakken for hosting. Her kan du have 5 domæner
  2. Du skal ind i kontrolpanel og tillade ssh/sftp forbindelser
  3. Du har ikke noget password, så tryk på knappen send, hvormed en nul-stilling af password sendes til din e-mail.
  4. Nu skal du åbne (Windows) Powershell (ikke cmd) i administations mode.
  5. Tast ssh og det brugernavn og host, som der fremgår dvs {user}@{host/IP} ( fx ssh kg-epel.dk@ssh.kg-epel.dk) og retur
  6. hvis alt er gået efter bogen, spørger den om der skal oprettes forbindelse (yes/no) – tast yes retur
  7. Tast dit password + retur
  8. Og går alt godt – kommer du til en velkomst meddelelse
  9. Dine webfiler findes i /www, og for at komme derhen skriver du cd /www + retur

Her er kommandoerne med hensyn til SSH
Shell access
File handling

cd – navigation in the file structure
cp – copy files
dir – viser filer og mapper i den aktuelle mappe
git – manage repositories
mv – move and rename files
mkdir – create directories
rm – delete files
chmod – change file permissions
nano, vim, joe, emacs, jed – edit files
Database handling

wp plugin install {plugin} –activate:  installs the specified plugin to our WordPress installation and activates it

mysql
mysqldump
mysqlrestore
File transfer

With SSH enabled, you can securely transfer files to your web space using the protocols:

sftp
scp
rsync

Nyeste Windows PowerShell kan dowloades fra: https://aka.ms/PSWindows

More Details
dec 16, 2024

SSL i XamPP

Hvis du har fået Virtual Host til at fungere, så er websiden stadigt usikker, og det er fordi at den benytter sig af http – protokollen som lytter på port 80. Det er muligt at oprette en sikkerhedscertifikat og tilhørende nøgle på XamPP, men det kun til den lokale maskine. Man kan ikke bruge det på et webhotel. Det skal konfigureres af webhotellets administration, eller ved brug af WordPress, så et SSL plugin.

I Apache findes der en bat-fil, hvor man kan oprette certifikat og nøgle, men desværre mangler der mulighed for at specificere domæner. Batfilen ser således ud.
 
@echo off
set OPENSSL_CONF=./conf/openssl.cnf

if not exist .\conf\ssl.crt mkdir .\conf\ssl.crt
if not exist .\conf\ssl.key mkdir .\conf\ssl.key

bin\openssl req -new -out server.csr
bin\openssl rsa -in privkey.pem -out server.key
bin\openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365

set OPENSSL_CONF=
del .rnd
del privkey.pem
del server.csr

move /y server.crt .\conf\ssl.crt
move /y server.key .\conf\ssl.key

echo.
echo -----
echo Das Zertifikat wurde erstellt.
echo The certificate was provided.
echo.
pause
 
Der mangler at læse ind en parameter, der angiver tilknytning mellem DNS og adresserne. Dette skal opbevares i en fil. en fil ved navn V3.ext

og desuden ønsker vi at certifikatet gælder lidt længrere end i et år. Vi kan bruge hvilket som helst antal dage, men jeg har valgt 1825, ca 5 år. Batfilen skal vide, at den skal læse en ext-fil ind, så derfor tilføjer vi -extfile v3.ext, så bin\openssl x509  – linjen laver vi om som følger:

bin\openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 1825 -extfile v3.ext

Oplysningerne om domæne i v3.ext filen skal se ud som følger ( vores tilfælde)
 
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage =digitalSignature, nonRepudiation, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
DNS.2 = *.dev.kfmh.dk
DNS.3 = dev.kfmh.dk
DNS.4 = 127.0.0.1
DNS.5 = 127.0.0.2
 
Gem denne fil  og den ændrede batfil – og kør batfilen. Når man gør det, skal man angive en adgangskode. Det skal være en, der er let at huske, for den får man brug for senere. Derefter beder programmet om forskellige oplysninger, som er lige ud ad landevejen, indtil man kommer til angivelse af navn. Her skal man skrive det domæne, som skal gøres sikkert. I vores tilfælde bliver det dev.kfmh.dk. Alle oplysningerne skal stå som ovenstående. En lille trykfejl vil resultere i at vi ikke får genereret det rigtige certifikat og eller, at Apache ikke starter op ved genstart, men går i fejl.  Hvis alt dette går godt, så skal en virtual host med port 443 oprettes.

 

Vi opretter en ny virtual host, som følger
 
<VirtualHost *:443>
   ServerAdmin webmaster@dev.kfmh.dk
      DocumentRoot "/xampp/apps/xampp-portable-windows-x64-8.2.12-0-VS16/xampp/htdocs/kfmh"
   ServerName dev.kfmh.dk
   ServerAlias kfmh
   ErrorLog "logs/dev.kfmh.dk-error.log"
   CustomLog "logs/dev.kfmh.dk-access.log" common
   SSLEngine on
   SSLCertificateFile "conf\ssl.crt\server.crt"
   SSLCertificateKeyFile "conf\ssl.key\server.key"
   ##check with openssl req –noout –text –in dev.kfmh.dk.csr
</VirtualHost>
 
Så gemmer man filen, og genstarter Apache serveren. Og hvis den går i fejl, kan der være en trykfejl

Når man opretter et certifikat ved makecert.bat så bliver certifikatet lagt i en fil med stien „conf\ssl.crt\server.crt‟ og nøglen i stien
conf\ssl.key\server.key‟ For at få det hele til at virke skal man så specificere SSLEngine on og så de to filnavne som i det grøn-markerede linjer i ovenstående definition af Virtual Host. Memh.dk n hvis den virker korrekt, og man taster https://dev.kfmh.dk i browserens adressefelt, så  burde man komme til siden via port 443 som en sikker forbindelse.

Herefter mangler vi kun at sørge for at vi altid lander på https siden. Og det skal vi gøre i den virtuelle host for port 80. Vi tilføjer linjer  så specifikationen for de virtuelle host er som følger:
 

<VirtualHost *:80>
    ServerAdmin webmaster@dev.kfmh.dk
    DocumentRoot "/xampp/apps/xampp-portable-windows-x64-8.2.12-0-VS16/xampp/htdocs/kfmh"
    ServerName dev.kfmh.dk
    ServerAlias kfmh
    ErrorLog "logs/dev.kfmh.dk-error.log"
    CustomLog "logs/dev.kfmh.dk-access.log" common
    RewriteEngine on
    RewriteCond %{SERVER_NAME} =www.dev.kfmh.dk [OR]
    RewriteCond %{SERVER_NAME} =dev.kfmh.dk 
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI}[END,NE,R=permanent]
</VirtualHost>

 
Vi skal omdirigere alle forespørgsler via www.dev.kfmh.dk og dev.kfmh.dk, som jo går via http og port 80 til at blive omdirigeret til https serveren. Først starter man RewriteEngine, så specificerer man tilfældene, hvor der skal omdirigeres, og til sidst en RewriteRule som siger at de skal gå via https. Specielt de grønne linjer skal stå præcist sådan, for ellers kan man ikke genstarte Apache.
 
Så gemmer man filen, og genstarter Apache serveren. Og hvis den går i fejl, kan der være en trykfejl.
 
Men hvis man kommer igennem, så skulle dev.kfmh.dk altid vises som en sikker forbindelse via SSL.

More Details
dec 16, 2024

Virtual Host på portabel XamPP

Når man har anskaffet sig XamPP server på et USB stik til at oprette et udviklingsmiljø for hjemmesider, vil man jo gerne have, at web-adressen ligner den, som den hjemmeside, der kører på et webhotel med en sikker forbindelse.

Hvis fx den hedder kfmh.dk, ligger det nærved at kalde den lokale dev.kfmh.dk (som de 3 første bogstaver i „developing‟). Da XamPP er født med enten „localhost‟ eller 127.0.0.1, skal opsætningen ændres.

Dette gøres ved at oprette en såkaldt virtual host. Og hvis man vil installere WordPress med den adresse, – så er det nok bedst at foretage oprettelsen af den virtuelle server først og derefter installere WordPress med den nye adresse. Ellers skal man ind i WordPress-databasen og ind i tabel Options for at rette siteurl og home adresserne til virtual host adressen.

 

Virtual host

For at oprette en virtuel server i XamPP skal man ind mappen \xampp\apache\conf\extra og åbne filen httpd-vhosts.conf med et editeringsprogram, fx Notepad++

I denne fil står der 2 eksempler til virtualhost, og den sidste som følger:

##<VirtualHost *:80>
##   ServerAdmin webmaster@dummy-host2.example.com
##   DocumentRoot "/xampp/apps/xampp-portable-windows-x64-8.2.12-0-VS16/xampp/htdocs/dummy-host2.example.com"
##   ServerName dummy-host2.example.com
##   ErrorLog "logs/dummy-host2.example.com-error.log"
##   CustomLog "logs/dummy-host2.example.com-access.log" common
##</VirtualHost>

I dette eksempel skal du så ændre, så det passer til din installations indstillinger og din virtuelle serveradresse. Her vil vi bruge dev.kfmh.dk som serveradresse (eller den virtuelle server), og dokument roden bliver så htdocs/kfmh. Og fden virtuelle host kommer så til at se ud som følger:

<VirtualHost *:80>
ServerAdmin webmaster@dev.kfmh.dk
DocumentRoot "/xampp/apps/xampp-portable-windows-x64-8.2.12-0-VS16/xampp/htdocs/kfmh"
ServerName dev.kfmh.dk
ServerAlias kfmh
ErrorLog "logs/dev.kfmh.dk-error.log"
CustomLog "logs/dev.kfmh.dk-access.log" common
</VirtualHost>

Her er ServerAlias valgfrit. For Windows (10 eller 11) skal vi fortælle Windows at vi bruger en ny server. Det vil sige, at vi skal opdatere Windowsfilen hosts med den nye server. Denne fil findes i C:\Windows\System32\drivers\etc. Denne fil kan åbnes med Notepad++, som skal have administrationsrettigheder. Filen indeholder tilknytninger af IP-adresser til værtsnavne. Og til at starte med indeholder den tilknytning af 127.0.0.1 til localhost, hvilket angives som følger:

127.0.0.1       localhost

Nu tilføjer vi så to linjer, en, der er tiltænkt KFMH, og en til Spillefolk.dk, sådan at der i alt står:

127.0.0.1       localhost
127.0.0.1       dev.kfmh.dk
127.0.0.1       dev.spillefolk.dk

 

Hvor vi så har tilknyttet to nye navne til 127.0.0.1, – gemt filen (husk administratorrettigheder). For at få de nye indstillinger til at træde i kraft skal man genstarte Apache serveren, og så kan man åbne siden med adressen dev.kfmh.dk. Hvis du har lavet en trykfejl, så kan du ikke starte Apache serveren, men får i stedet for en fejlmeddelelse. Dette stammer mest fra trykfejl i angivelsen af VirtualHost.

 

Hvis du var så uheldig, at have installeret WordPress, først skal du måske ind i tabel option for at rette i adressen for række, siteurl og række home fra localhost/kfmh til http://dev.kfmh.dk i modsat fald får man et mærkeligt resultat, når man indtaster dev.kfmh.dk i browseren.

 

Når man er færdig, så burde WordPress siden vises korrekt.

More Details
okt 17, 2024

WordPress tips

Når man opretter en ny post type, så laver man en funktion i filen functions.php, fx. som i undervsiningen hedder University_post_types:

function university_post_types(){
     register_post_type('event',array(
                    ‚show_in_rest => true,
        'public' => true,
        'menu_icon' => 'dashicons-calendar',
        'labels' => array(
     'add_new' => 'Add New Event',
        'name' => 'Events',
        'add_new_item' => 'Add New Event',
        'edit_item' => 'Edit Event',
        'all_items' => 'All Events',
        'singular_name' => 'Event'
                   )
     ));
}
add_action('init','university_post_types');

Den første i array Labels sørger for at der i menuen admin står ‚Add New Event‛ i stedet for ‚Add New Post‛

Man registrerer herved sin post type, og en event skal have en kalender ikon, og navnet i for denne post type er event, og navnet for typen i WordPress kontrolpanel bliver Events.

Notér at egenskaben ‚show_in_rest‛ => true er for at gøre bruger oprettet post tilgængelig for REST API, dette bruges senere i kurset

For at vores nye definition er uafhængig af skift af tema og deaktivering af plugin. så sætter vi en ‚MUST-USE-PLUGINS‛ til. Det gør vi ved at oprette en ny mappe under content, som skal hedde mu-plugins

I denne mappe placerer vi både funktion og hook. Og i dette tilfælde kan vi så bruge post af typen event uafhængigt af tema eller plugin

More Details
okt 14, 2024

WP-funktioner og hvad de gør

 

Funktion Hvad den gør bemærkninger
site_url(‚/relative_url‛) henter adressen  til en specifik under-adresse
have_posts() while (have_posts()),  sålænge der er flere poster Noter i single, er er nøjagtig een post
the_permalink() : Indsætter link til en side eller indlæg i loopen link til side eller indlæg, bruger single.php
the_title() indsætter titlen på siden eller indlægget Både single og posts/pages
the_content(); Indholdet af siden eller posten fortrinsvis single.php
get_header() Henter header (fra header template)
wp_head() Henter wordpress head sektion i header filen
get_footer() Henter footer-filen
wp_footer() I footer filen  lige inden </body><html> i filen footer.php Henter WP footer sektion og admin menu-bar
get_stylesheet_uri() henter adressen for stylesheet filen i temamappen Filen hedder som regel
get_theme_file_uri(relativ sti til fil) henter stien til den fil, der skal bruges Bemærk at funktionen med tom parenteser  peger på tema-mappen. og i html skal man „echo‟ sti til tema + sti i tema til fil
add_theme_support(‚title-tag‛) Sørger for at plugins og tema kan styre dokumentets titel tag. Noter, at den skal erklæres i functions.php og skal hookes på after_setup_theme
wp_get_post_parent_id(get_the_ID()) Returnerer side ID for forælder siden,  hvis den eksisterer. (Ellers 0)
get_the_ID() Returnerer sideID for siden
wp_list_pages() Lister alle sider og udskriver dem man bruger det til filtrere  blandt sider
get_pages() returnerer alle sider bruges til at tjekke om en side har børn
language_attributes() Sætter lang attrbuten til det sprog wordpress er installeret i i html tagen
bloginfo skriver oplysninger fx bloginfo(‚charset‛) kan skrive UTF-8
get_bloginfo() Returnerer oplysninger
body_class() skriver klasse i body-tag fx hvilken template, om man er logget ind, side id, child eller parent, hvis child, så side nr for parent etc.
paginate_links();
returnerer pagination,  udskriv: echo …, å at man får link til næste/forrige side bruges i index.php lige inden sidste div
the_archive_title() Udskriver titlen indlæg i arkivet, alt efter om det kategory, forfatter eller tid Bruges i archive.php i titel feltet
the_archive_description() skriver ud det man skriver i „beskrivlse feltet‟ under kategory,  eller forfatter Btuges i archive.php lige under titelfeltet

 

WordPress hooks Hvad den gør Bemærkninger
add_action(‚hvad og hvornår‛,’Navn på
funktion‛)
hooker funktionen i henhold hvårnor det skal
ske, og type af funktion (fx indlæse fil eller
udføre et script)
Fundamental programmeringsmåde i WordPress
add_action(‚wp_enqueue_
script‛, ‚university_files‛)
Udførsel af funktionen university_files() i filen functions Tema-mappen indelholder en fil, som hedder functions
wp_enquue_style(name,uri to css file) indlæs fra css fil med den givne uri-værdi Det kan være sti til en fil eller extern resource
w+_enqueue_script(name, uri to script file) indlæs fra script fil med den givne uri-værdi Noter her kun enkel script navn til udførsel,
add_action(‚after_setup_theme‛, ‚name of function‛) Her beder vi wordpress at udføre funktionen efter at html siden er indlæst

funktions filen udføres inden konstruktion af html siden, der kommer ud, idet html siden skal udføres ved hjælp af de angivne resourcer

More Details
aug 15, 2020

Øge maksimum filstørrelse for upload i XAMPP

Hvis du vil importere en stor databasefil, støder du måske på en fejlmeddelelse, som siger,
Du har sandsynligvis forsøgt at overføre en fil som er for stor. Se venligst dokumentationen for måder at omgå denne begrænsning. For at give tilladelse til at importere større filer skal du

  1. Åbne php mappen i XAMPP
  2. Åbn filen php.ini i notesblok
  3. Find linje med post_max_size= 8M, sæt den til fx 256M
  4. find linje med upload_max_filesize=2M, sæt den til fx 128M
  5. Noter at upload_max_filesize <= post_max_size
  6. Gem filen med disse ændringer

Nu skulle du kunne uploade filer op til 128MB

More Details
aug 15, 2020

Opdatering til WordPress 6.61

Både kg-epel.dk og kfmh.dk er opdateret til den nyeste WordPress, 6.6.1 Opdateringen ser ud til at være aldeles uproblematisk. Det skyldes givetvis at  at jeg pt. ikke kører med komplicerede php-programmer

Men som for sikkerhed mod problemer opstået undervejs fik jeg deaktiveret alle plugins forinden, derefter kørt update af WordPress, derefter opdateret alle plugins til deres nyeste versioner.

Til sidst så aktiveret alle plugins, der er nødvendige for visning af websiden.

More Details