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. 😉

    read more
  • 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

    read more
  • 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

    read more
  • 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.

    read more
  • 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.

    read more

Nyheter

Gamereactor Live: Idag är det dags för Tony Hawk's Pro Skater 3 + 42025-07-11 13:10

Efter succén med {Tony Hawk's Pro Skater 1 + 2} var det ingen större överraskning att Activision snabbt satte studion Iron Galaxy i arbete med att ta sig an nästa kapitel, den här gången med fokus på klassikerna Pro Skater 3 och 4. Resultatet? {Tony Hawk's Pro Skater 3 + 4} har nu släppts, och vi kommer ta en första titt på spelet i dagens avsnitt av GR Live.

Klockan 17:00 drar vi igång streamen där vår brittiske redaktör Ben spelar igenom den första timmen av Pro Skater 3 + 4. Som vanligt hittar du sändningen på GR Live-sidan. Häng gärna med och se vad han tycker om det här efterlängtade spelet, som nu finns ute till PC, Playstation, Switch och Xbox - och dessutom ingår direkt med Game Pass från dag ett.

<bild></bild>


Nu har nya säsongen av Marvel Rivals börjat2025-07-11 13:00

Hellfire Gala har nått sitt slut och Emma Frost har tillsammans med alla hjältar från olika multiuniversum satt stopp för Ultrons ondskefulla planer. Det innebär däremot inte att faran är över då symbiotledaren Knull står i rampljuset i den nya säsongen som precis har kickat igång, vilket naturligtvis innebär lite nyheter till spelet.

Till att börja med kommer en ny duelist, Phoenix (Jean Grey), att göra entré och dessutom släpps en helt ny karta som åter igen tar oss till symbiotplaneten, Klyntar. Kartan heter Klyntar: Celestial Husk där lagen slåss om att kontrollera ett område. Den nya säsongen kommer naturligtvis att erbjuda ett nytt battle pass också som denna gång fokuserar mycket på symbioter där bland annat Spider-Man, Jeff och och Rocket Raccoon får nya symbiotkostymer. Halvvägs genom säsongen kommer vampyrdräparen Blade att göra resten av hjältarna (och skurkarna) sällskap och vi räknar även med att en ny karta släpps samtidigt.<video>


Världens mest inkomstbringande animerade film ska nu släppas i väst2025-07-11 12:55

2025 har visserligen inte varit lika tomt på biosuccéer som fjolåret, men mitt i allt prat om Jurassic Park: Rebirth, A Minecraft Movie och Sinners finns det en ultrasuccé som märkligt nog inte syns på några topplistor, och det beror på att den knappt visats utanför Kina (här i Sverige fick den minimal release). Men nu är det på väg att ändras.

Vi pratar förstås om Ne Zha 2. Den mest inkomstbringande animerade filmen genom tiderna, med över 2,2 miljarder dollar i intäkter hittills, trots att den bara haft begränsad internationell distribution. Nu rapporterar The Hollywood Reporter att produktionsbolaget A24 slutit ett avtal med CMC Pictures för att släppa Ne Zha 2 på amerikanska biografer. Filmen lär knappast slå några rekord i Nordamerika, men intresset för att se denna kinesiska jättefilm utanför sitt hemland lär ändå locka en hel del nyfikna biobesökare.

Dessutom verkar bolaget lägga stor vikt vid att välja rätt engelskspråkiga röstskådespelare. Det har bland annat bekräftats att Oscarsvinnaren Michelle Yeoh kommer att vara en av filmens huvudröster.

Ne Zha 2 är en direkt uppföljare till Ne Zha (2019), en modern tolkning av kinesisk folklore där vi följer en rebellisk halvgud som kämpar mot sitt öde att besegla mänsklighetens undergång.


<bild>Vad tror du, har Ne Zha 2 vad som krävs för att upprepa sin framgång även i väst?</bild>


FC Barcelona planerar en stor hyllning till Leo Messi för Camp Nous stora återöppning2025-07-11 12:37

Även om Leo Messi har varit frånkopplad från FC Barcelona sedan augusti 2021, då den argentinska stjärnan lämnade i tårar på grund av klubbens ekonomiska problem, är han fortfarande och kommer för alltid att förknippas med den katalanska klubben, efter att ha tjänstgjort i över två decennier, först i ungdomslagen sedan 2000 och vunnit dussintals titlar, inklusive fyra Champions League- och tio League-titlar. Därför är det naturligt att FC Barcelona vill hylla fotbollsspelaren, som för närvarande trivs i Inter Miami, när deras stadion, Spotify Camp Nou, avslutar sina ombyggnadsarbeten.

Det uppger källor från nyhetsbyrån EFE, som uppger att planen är att nya Camp Nou ska vara helt klart om ett år, inför säsongen 2026/27. Det kommer att vara då när Messi skulle bjudas in till öppningsceremonin av stadion, som också kommer att fungera som en hyllning till fotbollsspelaren.

Efter att i flera år ha spelat på Olympiastadion i Barcelona, som ägs av staden, kommer laget att återvända till Camp Nou nästa säsong, med start i augusti, en försenad comeback som först förväntades ske i mitten av förra säsongen. Arbetet kommer dock att pågå i minst ett år med ett öppningsbart tak och ökad kapacitet till 105 000 åskådare.

Om arbetet försenas igen skulle hyllningen till Messi inte äga rum förrän hela arenan är klar, och det kommer inte att ske förrän åtminstone säsongen 2026/27. Det är möjligt att Messi redan har gått i pension då, men den 8-faldiga Ballon d'Or-vinnaren förväntas förnya för ytterligare ett år i MLS-klubben, där han har återförenats med många tidigare Barça-spelare som Luis Suárez, Jordi Alba, Sergio Busquets och tränaren Javier Mascherano.

<bild></bild>


Peter Jacksons dyrbara: Fåglarnas King Kong kan resa sig ur askan2025-07-11 12:20

Medan Peter Jackson förbereder sig för att återvända till Midgård med en ny Sagan om ringen-film, ger han sig också ut på ett verkligt äventyr som låter direkt från science fiction. Den hyllade nyzeeländska regissören har gått samman med Colossal Biosciences, ett Texas-baserat genteknikföretag, i ett ambitiöst försök att få tillbaka sydöns jättemoa, en fågel som inte kan flyga och som dog ut för cirka 600 år sedan.

En gång i tiden var moa mer än 3,6 meter hög och vägde över 200 kilo, och dominerade Nya Zeelands urskogar innan den försvann strax efter att polynesiska bosättare anlände. Nu hoppas Jackson och hans medarbetare kunna återuppliva arten med hjälp av återvunnet DNA och avancerade genredigeringstekniker, och skapa vad vissa kallar en vetenskaplig version av Jurassic Park.

<bild></bild>

Jackson, en långvarig moa-entusiast med en personlig samling av över 400 fossiliserade ben, är mer än en tillfällig supporter. Han har investerat 15 miljoner dollar i Colossal och har ett nära samarbete med Ngāi Tahu Research Centre vid University of Canterbury, som representerar den största maoristammen på Sydön. Samarbetet syftar inte bara till att återuppliva moa utan också till att återknyta modern vetenskap till urfolkens kunskap och bevarande.

Moa ansluter sig nu till en växande lista över utdöda djur som Colossal riktar in sig på, inklusive den ullhåriga mammuten, dronten och den tasmanska tigern. Företaget hävdar att de senaste genombrotten har gjorts, bland annat genetiskt modifierade gråvargar med hemska vargegenskaper och "ulliga möss" med mammutliknande drag, som markerar en ny era inom syntetisk biologi.

<bild></bild>

Men alla är förstås inte övertygade. Kritiker hävdar att det är missvisande att kalla dessa ansträngningar för "de-extinction". Det som skapas, säger de, är konstruerade hybrider, djur som kan se ut som de ska, men som biologiskt och beteendemässigt är långt ifrån sina forntida förfäder. Andra oroar sig för att återupplivandet av utdöda arter tar pengar och uppmärksamhet från den brådskande uppgiften att rädda de arter vi fortfarande har.

Colossal å sin sida hävdar att målet är bredare än skådespelet. Vd:n Ben Lamm tror att samma verktyg som används för att återuppliva utrotningshotade djur skulle kunna hjälpa utrotningshotade arter genom att återställa genetisk mångfald och motståndskraft. Moa, menar han, kan en dag spela en roll i att återställa Nya Zeelands inhemska ekosystem, av vilka många utvecklades med stora växtätare som inte längre existerar.

<bild></bild>

För närvarande är projektet i ett tidigt skede. Forskare sekvenserar gammalt DNA från moaben och jämför det med det från levande släktingar som emu. Förhoppningen är att rekonstruera moans arvsmassa och så småningom kläcka ett levande exemplar med hjälp av genetiskt modifierade embryon.

Det är en komplex och osäker process som väcker svåra etiska frågor. Men för Jackson, vars karriär har blandat det fantastiska med det episka, representerar moan något mer än vetenskap. "Förhoppningen om att vi inom några år ska få se en moa igen... Det ger mig mer njutning och tillfredsställelse än någon annan film någonsin har haft", säger Jackson.

<bild></bild>


Tony Hawk's Pro Skater 3 + 42025-07-11 12:00
Nostalgi på hjul och gameplay i världsklass. Tony Hawk är tillbaka igen + igen.
Världens bästa vapen – Semifinaler2025-07-11 10:00
Vapen från Half-Life, Star Wars, Portal och Zelda gör upp i semifinalerna.
Två PS5-bundles med Ghost of Yōtei-tema släpps i oktober2025-07-11 07:39
I begränsade upplagor.
Cyberpunk 2077 har släppts på PS Plus!2025-07-10 16:57
Ett av tio spel som kommer till tjänsten i juli.
"Älgen är lös!" – Striden släpps strax i early access, får trailer på norrländska2025-07-10 15:01
Release i morgon för lagshootern.