Senaste inläggen från UEX

  • Wordpress kärna och ordning

    Här kan du hitta mer om Wordpress.

    Om man ska bygga en hemsida i Wordpress med hjälp av plugins, teman och allmän PHP-kod via functions.php så kan det vara bra att känna till i vilken ordning Wordpress laddas internt. Genom att ha koll på detta så blir koden i projektet mycket bättre. Det är inte alltid så lätt att veta om alla konstanter och hooks som körs i systemet.

    Ett exempel är att man ska lägga till lite kod som ska köras bara i admin men ej i frontend eller under AJAX requests. Många skulle så säga att man bara använder sig av is_admin(). Detta kommer inte att fungera eftersom den också retunerar true för AJAX request mot admin-ajax.php.

    Eller så kanske du kör in lite kod via admin_init hooken och sedan undrar varför det funkar med AJAX requests med. Eller ett annat exempel. När någon kod exekveras i temats functions.php-fil och har beroende av en annan kod som är skriven i init hooken. Då kan det bli fel eftersom koden i functions.php körs före init.

    Det finns massor av fall som dessa och då underlättar då väldigt mycket att förstå hur Wordpress laddar allt internt.

    Wordpress-laddningsordning

    Att förstå hela flödet med Wordpress kan ta ett tag att lära sig. Men jag tycker att denna illustration verkligen gör det lättare att förstå processen och ordningen.

    wordpress-laddningsordning.png

    Det finns fyra huvud varianter när den laddar Wordpress.

    FrontEnd (theme) laddning. REST request laddning. Admin panel laddning. AJAX request (admin-ajax.php) laddning.

    I alla dessa fall så laddas kärnan wp-load.php.

    WordPress kärnans laddningsordning i text

    Som man ser nedan så körs allt genom wp-load.php

    wp-load.php wp-config.php wp-settings.php // Load functions: wp_debug_mode(), timer_start(), require_wp_db() ... // Constants functions: wp_initial_constants(), wp_cookie_constants() ... // Plugin functions (hooks, activation): do_action(), plugin_dir_url(), register_activation_hook(). // Constants setup: WP_START_TIMESTAMP, WP_MEMORY_LIMIT, WP_MAX_MEMORY_LIMIT, WP_DEBUG, SCRIPT_DEBUG, WP_CONTENT_DIR, WP_CACHE. // Standardize server variables: wp_fix_server_vars(). // maintenance mode check: wp_maintenance(). // Enables load speed timer: timer_start(). // Debug mode check: wp_debug_mode(). // Includes 'wp-content/advanced-cache.php' if it is exists and WP_CACHE is on. // Data base. $wpdb. require_wp_db(). // Loads 'wp-content/db.php' if it is exists. Creates DB connection // and setups all DB related variables: prefixes and so on... // Object cache: 'wp-content/object-cache.php' if exists or 'wp-include/cache.php'. // Base WP hooks (filters): default-filters.php. // Multisite is enabled (if need) // Loads 'wp-content/sunrise.php' if exists (for multisite only). // register_shutdown_function( 'shutdown_action_hook' ) // SHORTINIT: stopping the download, where there is only the most basic. if( SHORTINIT ) return false; // The localization functions are connected. // Checks whether WP is installed: wp_not_installed(). // Connects a bunch of files with the rest of the WordPress functions. // Connects Must-use plugins and corresponding action is triggered: do_action( 'muplugins_loaded' ); // cookie, ssl constants: COOKIEPATH, COOKIE_DOMAIN // Common global vars: $pagenow, $is_apache, $is_nginx, $is_lynx // Client global vars: $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone, $is_IE, $is_edge // Active plugins are connected // pluggable functions are connected: pluggable.php. // triggers hook do_action( 'plugins_loaded' ); // Force add slashes for $_POST, $_REQUEST ... values. See. wp_magic_quotes(). // Global vars: // $wp_the_query — new WP_Query() // $wp_query — $wp_the_query // $wp_rewrite — new WP_Rewrite() — constants, functions, rewrite rules. // $wp — new WP() — base WP query (runs later). // $wp_widget_factory — new WP_Widget_Factory() // $wp_roles — new WP_Roles() // Current theme do_action( 'setup_theme' ); // functions.php (child) - first connect functions.php of the child theme // functions.php (parent) - then connect functions.php of the main theme // WP translation file: load_default_textdomain() do_action( 'after_setup_theme' ); // first hook allowed in the theme // Sets the current user (creates an object). // See. wp_get_current_user() // The user is often already defined by plugins after the 'plugins_loaded' action. $wp->init(); // init action. The time when WP environment, themes and plugins is already activated, // but nothing has been displayed on the screen yet: do_action( 'init' ); // Widget registration: 'widget_init' action // Checking site status for multisite. // The site may be: deleted, inactive, in the archive. See. ms_site_check() // If the site failed the check, the drop file will be called and PHP is aborted via die(). // Same as `init` only after the status check. // This line of code can be not reached. For example on REST request. do_action( 'wp_loaded' );

    När man laddar kärnan så körs alltid functions.php i aktivt tema, även i Wordpress admin. Detta är väldigt smidigt för oss utvecklare. Om inte wp-load.php hittar wp-config.php så kommer installations processen komma igång. Man kan säga att wp-settings.php är en stor del av Wordpress kärnan.

    Efter att konfigurationen i wp-config.php är funnen så kopplar Wordpress upp sig mot databasserven.

    Ska fundera lite på nästa section i denna tråd, man kan läsa mera här. 😉

    läs mer
  • Packa upp arkivfilen .wpress manuellt

    Om man inte kan ta backup manuellt på en Wordpress-installation så kan jag rekommendera All-in-One WP Migration för att migrera eller flytta en hemsida. Men det kostnadsfria pluginet finns dock en begränsning på 512 MB när man skall återställa .wpress

    All-in-One WP Migration är tänkt att användas av den icke-tekniska användaren och kommer med funktioner som låter dig migrera din WordPress-webbplats med liten eller ingen teknisk kunskap eller erfarenhet.

    Om man är lite mera nördig och vill packa upp .wpress formatet som detta verktyg skapar så kan man använda sig av detta. Detta är användbart ifall man vill manuellt återställa filer från en All-in-One WP Migration backup. Man slipper även då begränsningen på 512 MB.

    Packa upp med hjälp av nodejs

    npx wpress-extract <fil>.wpress

    Packa upp med hjälp av php

    git clone https://github.com/ElliottLandsborough/php-wpress-extract cd php-wpress-extract/ php run.php <fil.wpress> <Sökväg där det ska packas upp>

    Wpress-extract extraherar innehållet i "wp-content"-katalogen tillsammans med webbplatsens databas. För att återställa sajten måste du installera en helt nytt WordPress och sedan byta ut wp-content.

    Slutligen måste du rengöra den nya WordPress-databasen och importera SQL-databasen du fick från wpress-arkivet.

    Här finns källkoden wpress-extract. php-wpress-extract

    läs mer
  • Node SASS

    Om du vill generera css från en scss sass fil

    npx sass --style compressed <fil>.scss > style.css

    Du kan även använda dig av node-sass tool. Om du har svårt att installera nodejs se denna guild: Installera nodejs utan root på ett webbhotell

    läs mer
  • Shared hosting

    Om du använder dig av ett webbhotell som inte har nodejs så kan du lägga till det själv utan att vara root. Många använder Siteground som inte har nodejs och då finns denna lösning. Börja med att hitta rätt version här https://nodejs.org/dist/.

    cd ~ wget -qO- https://nodejs.org/dist/v14.8.0/node-v14.8.0-linux-x64.tar.xz | tar -Jvx mv node-* nodejs; mkdir bin; cp nodejs/bin/node bin; cd bin ln -s ../nodejs/lib/node_modules/npm/bin/npm-cli.js npm ln -s ../nodejs/lib/node_modules/npm/bin/npx-cli.js npx; cd ..

    Om du inte har $HOME/bin i din path så får du lägga till detta i den .profile.

    läs mer
  • Felsökning

    I många fall så har man inte tillgång till serversidan när du har webbhotell. Då kan det vara smidigt att felsöka variabler som du har i .htaccess. Det man behöver göra är att dumpa en del av informationen som mod_rewrite använder till url-fältet så man kan läsa informationen.

    Här ser ni ett exempel på detta i .htaccess filen.

    RewriteCond %{QUERY_STRING} !dump RewriteRule (.*) http://www.minegenexempeldoman.se/$1?dump&the-request=%{THE_REQUEST}&http-host=%{HTTP_HOST} [R=302,L,QSA]

    Byt ut www.minegenexempeldoman.se mot den domänen du har.

    Om ni behöver exempel på variabler som Apache så finner ni det här.

    läs mer

Nyheter

Call of Duty, Virtua Fighter och fler läggs till Game Pass i september2026-09-02 00:35

Det har som bekant blivit höst, och därför står nu Microsoft redo att berätta vad Game Pass-prenumeranter har att se fram emot under första höstmånaden. Den här gången är det lite färre titlar än vanligt, men det är en väldigt bra bredd så chansen är stor att du hittar något du gillar. Här är vad du får (spel med * kommer inte till Game Pass Premium på premiären, spel med ** ingår redan med övriga abonnemang men kommer nu till Game Pass Premium):


  • {Shelldiver} (Cloud, Xbox, and PC) - Ute nu

  • {SpeedRunners 2: King of Speed} (Moln, Xbox Series S/X och PC) - 3 september*

  • {Dice a Million} (Moln, Xbox Series S/X, bärbart och PC) - 4 september**

  • {Call of Duty: Black Ops Cold War} (Moln, Xbox och PC) - 8 september

  • {The Royal Writ} (Moln, Xbox Series S/X, bärbart och PC) - 10 september

  • {Virtua Fighter 5 R.E.V.O. World Stage} (Moln, Xbox Series S/X och PC) - 10 september

  • {RuneScape: Dragonwilds} (Moln, Xbox Series S/X och PC) - 15 september



Som vanligt ingår det även extra innehåll som perks att ladda ner gratis, och september är inget undantag med ett reward pack till {Aniimo} - något du kan läsa mer om på Xbox Wire.

<bild></bild>

Tyvärr, som ofta är fallet, tas även några titlar bort. Dessa tas bort den 15 september, men du kan få upp till 20 % rabatt på dem med din prenumeration tills dess om du vill behålla någon av dem:


  • {Commandos: Origins} (Moln, Xbox och PC)

  • {Cricket 24} (Moln, Xbox och PC)

  • {Cyberpunk 2077} (Moln och Xbox)

  • {Dead Cells} (Moln, Xbox och PC)

  • {Deep Rock Galactic Survivor} (Moln, Xbox och PC)

  • {Frostpunk 2} (PC)

  • {Mullet Madjack} (Moln, Xbox och PC)

  • {Spiritfarer} (Moln, Xbox och PC)

  • {Superliminal} (Moln, Xbox och PC)

  • {Train Sim World 5} (Moln, Xbox och PC)


Läcka: Så här ser Lego PlayStation ut2026-09-02 00:29

I våras dök det upp rykten som sade att Lego och Sony slagit sina påsar ihop för att skapa en byggsats föreställandes original-Playstation. Enligt läckan skulle bygget bestå av 1911 bitar och kosta 160 dollar, och nu har detta i det närmaste bekräftats efter en bildläcka från Brick Tap.

Tack vare detta får vi en rejäl titt på skönheten som tydligen kommer innehålla Playstation-påskägg baserade på Ape Escape och Gran Turismo, samt även ha detaljer som minneskort, skivlucka och handkontroller du kan koppla in. Enligt läckan ska setet släppas den 1 oktober, vilket rimligen betyder att det kommer utannonseras officiellt mycket snart.

Kolla in bilderna i Reddit-inlägget nedan. Det är för övrigt inte första gången Lego släpper en konsol och sedan tidigare finns exempelvis Atari 2600, Mega Drive och NES. Nyligen kunde vi även berätta att Mattel jobbar på ett liknande byggset inspirerat av original-Xbox.


<social>https://www.reddit.com/r/Legoleak/comments/1w4mo9c/72306_playstation_first_look_via_brick_tap/</social>

<bild>Det här lockar väl ändå?</bild>


Mario Tennis Fever uppdaterad till version 1.1.12026-09-02 00:26

Nintendo är kända för att släppa spel som har väldigt få buggar, och är i det närmaste kompletta redan från start. Men att spelutveckling blir alltmer avancerat har såklart inte undgått Nintendo heller, och eftersom de ny har en prestandamässigt modern konsol med Switch 2 har gjort att det kommit lite fler patchar till Nintendos titlar än vi varit vana vid från tidigare generationer.

Ett sådant är {Mario Tennis Fever}, vilket släpptes i februari. Nu har det uppdaterats till Version 1.1.1 och det handlar inte bara om buggfix, utan även om en justering av dess gameplay:

• Changed it so that when returning a high ball, if you press the Flat shot button twice, it produces a Star Shot even if there is no Star Point there.
- Note: In Ver. 1.1.0, the situation above would result in a Powerful Flat.

•Fixed a bug where Amps placed with the Amp Racket disappear before 12 seconds pass.


Om du vill läsa mer om Mario Tennis Fever kan du hitta vår recension här.

<bild></bild>


Warrior Cats: Clans of the Forest lanseras nästa månad2026-09-02 00:22

{Warrior Cats: Clans of the Forest} utannonserades för snart en månad sedan. Då fick vi veta att vi skulle få träffa ikoniska katter från barnboksserien Warrior Cats och uppleva helt nyskrivna berättelser om dem i ett turbaserat rollspel.

Tanken är att vi ska axla rollerna som antingen "the courageous ThunderClan, the graceful RiverClan, the cunning ShadowClan, or the swift WindClan" för att gå med dem på äventyr där alla har sin egen story. Spelet utannonserades med både bilder och en ny trailer, men något premiärdatum fick vi ej, annat än beskedet att det skulle släppas under hösten.

Många spel har ju försenats senaste veckorna då alla vill hålla sig så långt borta från {Grand Theft Auto VI} som möjligt, men Warrior Cats: Clans of the Forest kommer tydligen inte bli ett av dem. Nu meddelas nämligen via en ny trailer att det har premiär den 23 oktober till PC, Playstation 5, Switch, Switch 2 och Xbox Series S/X.

Spana in videon härunder och kolla om det tycks vara ett äventyr i din smak

<video>

<bild>Vad tror vi om detta då?</bild>


Street Fighter brakar loss i nästan tre minuter lång trailer2026-09-01 19:47

För mycket av det goda? Gränsen är onekligen hårfin när Paramount nu dundrat ut en ny och betydligt längre trailer av Street Fighter-rullen. Den tre minuter långa sekvensen bjussar på en betydligt tydligare bild av berättelsen. Faktum är att trailern verkar avslöja utgången av åtminstone ett par fighter, så den som vill gå in helt spoilerfri bör kanske hålla sig undan.

Filmen utspelar sig 1993 och kretsar kring Ryu (Andrew Koji) och Ken Masters (Noah Centineo), som återförenas när Chun-Li (Callina Liang) rekryterar dem till World Warrior Tournament. Bakom turneringen lurar dessutom en större konspiration med M. Bison i centrum. Bland övriga namn finns Jason Momoa som Blanka, 50 Cent som Balrog, Cody Rhodes som Guile och Roman Reigns som Akuma.

Street Fighter regisseras av Kitao Sakurai och får biopremiär den 16 oktober.

<social>https://www.youtube.com/watch?v=U6sbm1OaJb8</social>


Känslan av att äntligen vinna2026-09-01 16:00
Svåra bossar testar tålamodet, men gör också segern desto bättre. Jonas Vågström om spelens tydligaste kvitton på framgång.
Lego Skylines är inte en förenklad Skylines-upplevelse2026-09-01 14:00
Men vi får inte bygga saker kloss för kloss.
NVIDIA lanserar DLSS 5. Jag är kluven och imponerad på samma gång.2026-09-01 13:25
Nvidia går idag ut med lanseringsdatum för DLSS 5, men vad innebär det egentligen för oss spelare? Efter en stängd demonstration under Gamescom är jag redo att dela med mig av mina tankar.
FZ Play ISK #6 - Justin Wack and the Big Time Hack2026-09-01 12:59
Datumet är 1 september och Indiespelklubbens nästa lir avtäckt! Vi spelar pekaklicka-äventyr och pratar med utvecklaren Pontus Wittenmark!
Bra betyg för Metal Gear Solid: Master Collection Vol. 22026-09-01 12:07
MGS4: Guns of the Patriots har äntligen slagit sig fri från PS3:an.