WordPress Temaudvikling (101)

WordPress Theme Development Guide


At lære at oprette WordPress-temaer åbner en helt ny verden for dig at udforske. Det giver dig mulighed for at oprette brugerdefinerede design til dig selv, dine kunder og endda bidrage tilbage til open source-samfundet.

I denne vejledning tager vi dig fra nul til at have et fuldt funktionelt tema, der kan sendes til WordPress.org tema katalog.

For at følge med har du brug for en grundlæggende forståelse af HTML, CSS, PHP og hvordan WordPress fungerer.

Al den kode, der bruges i denne vejledning, vil være tilgængelig til reference i denne Github-arkiv.

Oprettelse af væsentlige filer


Et fungerende WordPress-tema kan bestå af kun to filer: style.css og index.php. Dette er muligt på grund af WordPress’s skabelonhierarki.

Når WordPress udsender en webside, søger den efter den mest specifikke tilgængelige skabelon, hvis en skabelon ikke findes, vil den flytte ned i hierarkiet, indtil den finder en der gør det. Her er et praktisk eksempel:

Brugeren er tændt https://example.com/practical-example, som er en side. WordPress forsøger at finde en skabelon i denne rækkefølge:

  • side- {slug} .php – Sidesluggen er / praktisk-eksempel, WordPress ser ud til at bruge dit tema / side-praktisk-eksempel.php
  • side- {id} .php – Side-ID’et er 42, WordPress ser ud til at bruge dit tema / side-42.php.
  • page.php – WordPress vil prøve den generelle formål dit tema / page.php skabelon.
  • singular.php – Den entalskabelon kan gengive indlæg og sider, så den er prøvet efter den mere specifikke side.php
  • index.php – Endelig bruges dit tema / indeks.php, hvis der ikke findes nogen anden skabelon.

Lad os starte med at opbygge et tema med bare de væsentlige filer, og så kan vi lægge på flere funktioner, når vi udforsker, hvordan de fungerer.

I / Wp-content / temaer /, oprette en navngivet mappe min-custom-tema og opret disse to følgende filer:

style.css

For at WordPress kan genkende vores tema og output det ordentligt i listen Udseende → Temaer, er vi nødt til at placere en WordPress-specifik kode øverst på style.css, det ser sådan ud:

/ *
Tema Navn: Mit brugerdefinerede tema
Tema URI: https://yourwebsite.com/theme
Forfatter: Dit navn
Forfatter URI: https://yourwebsite.com
Beskrivelse: Dette er mit første tilpassede tema!
Version: 1.0.0
Licens: GNU General Public License v2 eller nyere
Licens URI: 
Tekstdomæne: min-brugerdefinerede tema
Mærker: brugerdefineret baggrund
* /

Teknisk kræves ingen af ​​felterne, men hvis du ønsker, at dit tema skal se godt ud i wp-admin, opfordres de meget. De er også påkrævet, hvis du distribuerer dit tema på WordPress.

  • Tema Navn – Du skal altid angive et temanavn. Hvis du ikke gør det, vil mappenavnet blive brugt, min-brugerdefinerede tema i vores eksempel.
  • Tema URI – Hvis det bruges, skal temaet URI give et link til en side, hvor besøgende kan lære mere om temaet.
  • Forfatter – Dit navn går her.
  • Forfatter URI – Et link til din personlige eller forretningswebsted kan placeres her.
  • Beskrivelse – Beskrivelsen vises på wp-admin-temamodal og også på WordPress tema notering.
  • Version – Versionsnumre hjælper udviklere med at holde styr på ændringerne og fortælle brugerne, om de bruger den nyeste version. Vi følger SemVer nummereringssystem for at angive sværhedsgraden af ​​ændringer i en opdatering.
  • Licens – Hvordan du licenserer dit tema er op til dig, men hvis du vælger en ikke-GPL-kompatibel licens, vil du ikke være i stand til at distribuere dit tema på WordPress.
  • Licens URI – Dette er blot et link til den ovenfor anførte licens.
  • Tekstdomæne – Tekstdomænet bruges, når du oversætter dit tema til andre sprog. Bare rolig, at vi vil udforske dette indgående senere. For tiden er det nok at vide, at det er en god praksis, at temamappen og tekstdomænet er temanavnet adskilt af bindestreger i stedet for mellemrum.
  • Mærker – Mærker bruges kun, hvis du uploader dit tema til WordPress.org-temakataloget. De er grundlaget for mekanismen ‘Funktionsfilter’.

Kopier og indsæt ovenstående i style.css og du vil have noget lignende:wp-admin temaoplysninger

Bemærk: Det ser lidt tomt ud i øjeblikket, da vi ikke har et skærmbillede endnu. Det tilføjer vi senere.

index.php

index.php er den eneste anden strengt krævede fil. Dets job er at gengive alle frontend-output til vores tema.

Siden index.php kommer til at gengive alle vores sider (hjem, indlæg, kategorier, arkiver), det vil udføre en masse arbejde. For at starte har vi brug for et hovedsektion, der dækker HTML-basics.


>





Dette er standard HTML med én undtagelse, [Wp_head ()] (). wp_head er en kernefunktion, der giver WordPress og tredjeparts plugins mulighed for at indsætte kode i overskriften uden at ændre dine skabelonfiler. Dette kaldes en handlingskrog.

Hvis du kender HTML, kan du muligvis bemærke, at der ikke findes en tag for at udsende sidetitlen. Det skyldes, at WordPress kan bruge wp_head-krogen til dynamisk at indsætte titlen.</p><p>En anden anvendelse af wp_head er at enqueue stilarter (.css) og scripts (.js). Der er meget gode grunde til at gøre dette i stedet for at kode dem, som vi vil se på senere.</p><p>Dernæst har vi siden på siden:</p><pre class="EnlighterJSRAW" data-enlighter-language="php"><body data-rsssl=1 <?php body_class(); ?>></pre><p><em>body_class ()</em> er en hjælperfunktion leveret af WordPress, der udsender en liste over nyttige CSS-klasser, der beskriver den side, der vises, såsom:</p><pre class="EnlighterJSRAW" data-enlighter-language="html"><code class="EnlighterJSRAW" data-enlighter-language="html">class = "side side-id-2 side-overordnet side-skabelon-standard logget ind" </code></pre><p><em>body_class ()</em>; accepterer også en parameter, så du kan tilføje dine egne klasser, for eksempel:</p><pre class="EnlighterJSRAW" data-enlighter-language="html"><body data-rsssl=1 <?php body_class( 'wide-template blue-bg' ); ?>></pre><p>Dernæst har vi skabelonhovedet.</p><pre class="EnlighterJSRAW" data-enlighter-language="php"><header class="site-header"> <p class="site-title"> <a href="<?php echo esc_url( home_url( '/' ) ); ?" data-wpel-link="internal">"> <?php bloginfo( 'name' ); ?> </a> </p> <p class="site-description"><?php bloginfo( 'description' ); ?></p> </header> </pre><p>Her bruger vi WordPress ‘indbyggede skabelonfunktioner til at udsende webstitets titel og beskrivelse. Vi har også brugt en hjælperfunktion, <em>HOME_URL (),</em> for at linke webstitets titel tilbage til startsiden.</p><p>Næste op, sidens krop:</p><pre class="EnlighterJSRAW" data-enlighter-language="php"><div class="site-content"> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <article <?php post_class(); ?>> <header class="entry-header"> <?php the_title( '<h1 class="entry-title"><span id="i">','</span></h1>'); ?> </header> <div class="entry-content"> <?php the_content( esc_html__( 'Continue reading →', 'my-custom-theme' ) ); ?> </div> </article> <?php // If comments are open or we have at least one comment, load up the comment template. if ( comments_open() || get_comments_number() ) : comments_template(); endif; endwhile; else : ?> <article class="no-results"> <header class="entry-header"> <h1 class="page-title"><?php esc_html_e( 'Nothing Found', 'my-custom-theme' ); ?></h1> </header> <div class="entry-content"> <p><?php esc_html_e( 'It looks like nothing was found at this location.', 'my-custom-theme' ); ?></p> </div> </article> <?php endif; ?> </div> </pre><p>Det er her det bliver interessant (og lidt mere komplekst). Her bruger vi den vigtigste funktion i WordPress, the <a href="https://developer.wordpress.org/themes/basics/the-loop/" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">Loop</a>. Loopen gør det hårde arbejde med at finde ud af, hvilken side brugeren er på, og hvad der skal vises. Derefter returneres en liste over et eller flere ‘indlæg’, som vi kan loop igennem og udsende data ved hjælp af skabelonfunktioner.</p><p>Hvis Loop ikke returnerer nogen resultater, for eksempel på en 404 side eller et slettet post, bruger vi en anden operator til at vise en foruddefineret meddelelse.</p><p>Uden nogen af ​​de omkringliggende koder ser en forenklet løkke sådan ud:</p><pre class="EnlighterJSRAW" data-enlighter-language="php">if (have_posts ()): // Kontroller, om loopen har returneret nogen indlæg. while (have_posts ()): // løb gennem hvert returneret indlæg. Posten(); // opsæt indholdet, så vi kan bruge skabelon tags som the_title (). titlen(); // output posttitel. indholdet(); // output postens indhold. EndWhile; andet: ekko 'Ingen side fundet'; // output en fejlmeddelelse, hvis der ikke er nogen indlæg. Afslut Hvis; ?> </pre><p><strong>Bemærk:</strong> Fordi WordPress har sin oprindelse i blogging, bruger mange funktioner ‘post’-terminologien, selvom de kan returnere og udskrive enhver form for indhold (indlæg, sider, tilpassede indlægstyper).</p><p>Til sidst har vi sidefoden, alt hvad vi skal gøre her er at lukke HTML-tags, vi åbnede tidligere. Der er en anden handlingskrog, <a href="https://developer.wordpress.org/reference/hooks/wp_footer/" rel="nofollow noopener external noreferrer" target="_blank" data-wpel-link="external">wp_footer ()</a>, som bruges aktivt af WordPress og plugins til at inkludere scripts i den sidefod, der er nødvendig for at gengive siden.</p><pre class="EnlighterJSRAW" data-enlighter-language="php"><?php wp_footer(); ?> <script src="https://abgx360.net/wp-content/cache/min/1/ecee769ffd9099d55bcd0ee3fcd2b344.js" data-minify="1" defer></script></body> </html> </pre><p>Hvis du har fulgt med indtil videre, har du et fuldt funktionelt WordPress-tema, der ser sådan ud:</p><p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" class="shadow-2 aligncenter wp-image-17326 size-large" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20750%20242'%3E%3C/svg%3E" alt="forhåndsvisning af starttema" width="750" height="242" data-lazy-src="/images/wordpress-theme-development-101-3.jpg"/><noscript><img itemprop="url image" class="shadow-2 aligncenter wp-image-17326 size-large" src="/images/wordpress-theme-development-101-3.jpg" alt="forhåndsvisning af starttema" width="750" height="242"/></noscript><meta itemprop="width" content="750"><meta itemprop="height" content="242"></span></p><p>Vores tema vil ikke vinde nogen designpriser (det har ingen CSS), og det mangler en masse funktioner, som brugerne betragter som vigtige (sidebjælker, navigation, metadata, miniaturebilleder, pagination osv.), Men det er en god start!</p><p>Lad os fortsætte og se, hvordan vi kan forbedre det.</p><h2><span id="functionsphp">functions.php</span></h2><hr/><p><em>functions.php</em> er ikke strengt en obligatorisk fil, men det giver så mange fordele, at 99,99% af temaerne har den. I <em>functions.php</em> kan du bruge WordPress ‘indbyggede temafunktionalitet og også tilføje din egen brugerdefinerede PHP-kode.</p><p>Lave en <em>functions.php</em> i din temamappe nu, da vi tilføjer kode til den i de næste sektioner.</p><h3><span id="Tilfojelse_af_en_navigationsmenu">Tilføjelse af en navigationsmenu</span></h3><p>De fleste, hvis ikke alle websteder bruger en navigationsmenu, men indtil nu understøtter vores tema ikke en. For at fortælle WordPress, at vores tema har en navigationsmenu, skal vi registrere det i <em>functions.php</em> sådan her:</p><pre class="EnlighterJSRAW" data-enlighter-language="php">register_nav_menus (array ( 'menu-1' => __ ('Primær menu', 'min-brugerdefinerede tema'), ); </pre><p><strong>Bemærk:</strong> <em>register_nav_menus ()</em> accepterer en matrix, så du kan registrere mere end en menu om nødvendigt.</p><p>WordPress ved nu om vores menu, men vi har stadig brug for at udskrive den i vores tema. Det gør vi ved at tilføje følgende kode under beskrivelsen af ​​webstedet i <em>index.php</em>:</p><pre class="EnlighterJSRAW" data-enlighter-language="php">wp_nav_menu (matrix ( 'theme_location' => 'menu-1', )); </pre><p>Nu har vi en (unstyled) navigationsmenu:</p><p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" class="shadow-2 aligncenter wp-image-17328 size-large" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20750%20272'%3E%3C/svg%3E" alt="starttema med nav-menu" width="750" height="272" data-lazy-src="/images/wordpress-theme-development-101-4.jpg"/><noscript><img itemprop="url image" class="shadow-2 aligncenter wp-image-17328 size-large" src="/images/wordpress-theme-development-101-4.jpg" alt="starttema med nav-menu" width="750" height="272"/></noscript><meta itemprop="width" content="750"><meta itemprop="height" content="272"></span></p><h3><span id="Tilfojelse_af_en_sidebjaelke">Tilføjelse af en sidebjælke</span></h3><p>Vores tema har heller ikke en sidebjælke (widget-område), lad os løse det nu.</p><p>Først skal vi registrere sidebjælken i <em>functions.php</em>:</p><pre class="EnlighterJSRAW" data-enlighter-language="php">funktion my_custom_theme_sidebar () { register_sidebar (matrix ( 'name' => __ ('Primær sidebjælke', 'min-brugerdefinerede tema'), 'id' => 'sidebar-1', )); } add_action ('widgets_init', 'my_custom_theme_sidebar'); </pre><p>Opret nu <em>sidebar.php</em> i din temamappe, og tilføj følgende kode:</p><pre class="EnlighterJSRAW" data-enlighter-language="php"><?php if ( is_active_sidebar( 'sidebar-1' ) ) { ?> <ul class="sidebar"> <?php dynamic_sidebar('sidebar-1' ); ?> </ul> <?php } ?> </pre><p>Her bruger vi en <em>hvis</em> erklæring for at kontrollere, om sidefeltet er ‘aktivt’, før vi udsender koden. En aktiv sidepanel er en, som brugeren har føjet mindst en widget til.</p><p>Det sidste trin er at inkludere sidebjælken i<em> index.php</em>, over <em>wp_footer ()</em> Tilføj en <em>get_sidebar ()</em> opkald.</p><h3><span id="Tilfojelse_af_udvalgte_billeder">Tilføjelse af udvalgte billeder</span></h3><p>Som sidebjælker og navigationsmenuer kan vi ikke bare udskrive fremhævede billeder i vores tema og forvente, at de fungerer, vi må fortælle WordPress, at vi først understøtter denne funktion. I <em>functions.php</em> tilføje:</p><pre class="EnlighterJSRAW" data-enlighter-language="php">add_theme_support ('post-thumbnails');</pre><p>Nu kan vi tilføje<em>_post_thumbnail ();</em> inden i vores løkke, og miniaturerne fungerer. Det eneste problem er, at de udsendes i WordPress’s maksimale størrelse på 1920px x 2560px, hvilket er for stort til de fleste anvendelser. Heldigvis har WordPress en anden hjælperfunktion: <em>add_image_size ()</em>;</p><p>Når en bruger uploader et billede, og hvis billedstørrelse er defineret, genererer WordPress en version af det uploadede billede i den størrelse (samtidig med at originalen bevares). Hvis brugerens billede er mindre end de dimensioner, du har angivet, vil WordPress ikke gøre noget, da det ikke kan gøre et billede større end originalen.</p><p>For at bruge et optimeret funktionsbillede snarere end originalen skal du placere følgende kode i <em>functions.php</em>:</p><pre class="EnlighterJSRAW" data-enlighter-language="php">add_image_size ('min-brugerdefinerede billedstørrelse', 640, 999);</pre><p>Den første parameter er håndtaget, den anden er billedbredden og den tredje højden. Både højde og bredde er valgfri, hvis du kun vil begrænse en dimension.</p><p>I <em>index.php</em>:</p><pre class="EnlighterJSRAW" data-enlighter-language="php">the_post_tattnail ('min-brugerdefinerede-image-størrelse');</pre><h3><span id="Indgaende_stilarter_og_scripts">Indgående stilarter og scripts</span></h3><p>Tidligere sagde vi, at det er bedre at fortælle stilarter og scripts i stedet for at kode dem direkte i skabelonfilerne. Det skyldes, at enqueuing giver mulighed for meget mere fleksibilitet.</p><p>Når det gøres korrekt, fortæller enqueuing også WordPress, hvilke ressourcer der indlæses. Når WordPress ved, hvilke ressourcer der er behov for, kan det sikre sig, at den samme ressource ikke indlæses mere end én gang. Dette er især vigtigt, når du har et ekstremt populært bibliotek som jQuery eller FontAwesome, at flere temaer og plugins bruger.</p><p>En anden fordel ved enqueuing er, at en ressource, der er udtaget, kan blive afskrevet af et plugin, hvilket undgår behovet for at ændre skabelonfiler.</p><p>Selvom vores tema har en <em>style.css</em> arkiver det ikke bruger det endnu, lad os fortælle det nu:</p><pre class="EnlighterJSRAW" data-enlighter-language="php">funktion my_custom_theme_enqueue () { wp_enqueue_style ('min-brugerdefinerede tema', get_styleheet_uri ()); } add_action ('wp_enqueue_scripts', 'my_custom_theme_enqueue'); </pre><p><a href="https://developer.wordpress.org/reference/functions/get_stylesheet_uri/" rel="nofollow noopener external noreferrer" target="_blank" data-wpel-link="external"><code>get_stylesheet_uri ()</code></a> er en hjælperfunktion, der henter URI for det aktuelle temas stilark. Hvis vi overførte nogen anden fil, skulle vi gøre dette i stedet for:</p><pre class="EnlighterJSRAW" data-enlighter-language="php">wp_enqueue_style ('my-stylesheet', get_template_directory_uri (). '/css/style.css'); </pre><p>Vores tema har ingen scripts, hvis det gjorde det, ville vi tilslutte dem sådan:</p><pre class="EnlighterJSRAW" data-enlighter-language="php">funktion my_custom_theme_enqueue () { wp_enqueue_style ('min-brugerdefinerede tema', get_styleheet_uri ()); wp_enqueue_script ('my-scripts', get_template_directory_uri (). '/js/scripts.js'); } add_action ('wp_enqueue_scripts', 'my_custom_theme_enqueue');</pre><p>En undtagelse fra ovenstående er scripts, der har været <a href="https://developer.wordpress.org/reference/functions/wp_enqueue_script/#default-scripts-and-js-libraries-included-and-registered-by-wordpress" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">præregistrering </a>af WordPress, i disse tilfælde behøver du kun at levere den første parameter ($ håndtag):</p><p><code class="EnlighterJSRAW" data-enlighter-language="php">wp_enqueue_script ('jquery');</code></p><p><strong>Tilføjelse af stil med CSS</strong></p><p data-enlighter-language="php">Vores tema har stærke fundamenter, men mangler noget design, at tilføje nogle grundlæggende CSS til style.css vil gøre en enorm forskel. Vi har tilføjet det <a href="https://github.com/DannyCooper/my-custom-theme/blob/master/style.css" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">~ 100 linjer CSS </a>til vores eksempletema som en demonstration, og resultatet ser sådan ud:</p><p data-enlighter-language="php"><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" class="shadow-2 aligncenter wp-image-17329 size-large" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20750%20430'%3E%3C/svg%3E" alt="starttema med css" width="750" height="430" data-lazy-src="/images/wordpress-theme-development-101-5.jpg"/><noscript><img itemprop="url image" class="shadow-2 aligncenter wp-image-17329 size-large" src="/images/wordpress-theme-development-101-5.jpg" alt="starttema med css" width="750" height="430"/></noscript><meta itemprop="width" content="750"><meta itemprop="height" content="430"></span></p><h3><span id="Titel_Tag">Titel Tag</span></h3><p>Alle temaer skal bruge WordPress’s indbyggede funktionalitet til at generere titelmærket, som er aktiveret ved at føje denne kode til din <em>functions.php</em> fil: <code>add_theme_support ('titel-tag');</code> Det er alt, hvad der er dertil, WordPress håndterer output af siden<em><title></em> og om nødvendigt kan plugins ændre output ved hjælp af filtre. SEO-plugins gør ofte dette i et forsøg på at optimere titlerne yderligere.</p><h2><span id="Skabelon_dele">Skabelon dele</span></h2><hr/><p>Lige nu er 80% af vores skabelonkode i <em>index.php</em>. Selvom dette fungerer, vil det resultere i en masse kodegen gentagelse, når vi har andre skabelonfiler som f.eks <em>singular.php</em>, <em>search.php</em>, og <em>archive.php</em>. Skabelondele gør temaudviklingen lettere ved at give os mulighed for at genbruge kode på tværs af skabeloner. Da vores sidehoved og sidefod er de samme på hver side, er de en perfekt kandidat til at bruge skabelondele. Opret først header.php og flyt følgende kode fra <em>index.php</em>:</p><pre class="EnlighterJSRAW" data-enlighter-language="php"><!DOCTYPE html> <html <?php language_attributes(); ?>> <head> <meta charset="<?php bloginfo( 'charset' ); ?>"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="<http://gmpg.org/xfn/11>"> <?php wp_head(); ?> </head> <header class="site-header"> <p class="site-title"> <a href="<?php echo esc_url( home_url( '/' ) ); ?" data-wpel-link="internal">"> <?php bloginfo( 'name' ); ?> </a> </p> <p class="site-description"><?php bloginfo( 'description' ); ?></p> <?php wp_nav_menu( array( 'theme_location' => 'Menu-1', )); ?> </header> </pre><p>I <em>index.php</em> erstatt ovenstående kode med:</p><pre class="EnlighterJSRAW" data-enlighter-language="php"><?php get_template_part( 'header' ); ?> </pre><p><strong>Bemærk:</strong> Når du får en skabelondel, skal du udelade <em>.php</em> fra skabelondelens håndtag.</p><p>Opret derefter en sidefodsskabeloldel ved at flytte denne kode til<em> footer.php</em> og gentagelse af ovenstående proces:</p><pre class="EnlighterJSRAW" data-enlighter-language="php"><?php wp_footer(); ?> <script src="https://abgx360.net/wp-content/cache/min/1/ecee769ffd9099d55bcd0ee3fcd2b344.js" data-minify="1" defer></script></body> </html> </pre><p>Til sidst flytter vi koden ‘ingen resultater’ til en skabelondel, da den sandsynligvis vil blive brugt i flere skabeloner. skab<em> indholdsbaseret none.php</em> og flyt denne kode til den nye fil.</p><pre class="EnlighterJSRAW" data-enlighter-language="php"><article class="no-results"> <header class="entry-header"> <h1 class="page-title"><?php esc_html_e( 'Nothing Found', 'my-custom-theme' ); ?></h1> </header> <div class="entry-content"> <p><?php esc_html_e( 'It looks like nothing was found at this location.', 'my-custom-theme' ); ?></p> </div> </article> </pre><p>Dit indeks skal nu se sådan ud:</p><pre class="EnlighterJSRAW" data-enlighter-language="php"><?php get_template_part( 'header' ); ?> <div class="site-content"> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <article <?php post_class(); ?>> <?php the_post_thumbnail(); ?> <header class="entry-header"> <?php the_title( '<h1 class="entry-title"><span id="i-2">','</span></h1>'); ?> </header> <div class="entry-content"> <?php the_content( esc_html__( 'Continue reading →', 'my-custom-theme' ) ); ?> </div> </article> <?php // If comments are open or we have at least one comment, load up the comment template. if ( comments_open() || get_comments_number() ) : comments_template(); endif; endwhile; else : get_template_part( 'content-none' ); endif; ?> </div> <?php get_sidebar(); get_template_part( 'footer' ); </pre><p>Selvom ovenstående fungerer perfekt, er der en lille forbedring, vi kan gøre. WordPress har hjælperfunktioner til at inkludere overskrifts-, sidefod- og sidebar-skabelondele. Da det er en bedste praksis at bruge kernefunktionalitet, hvor det er muligt, bør vi bruge dem i stedet.</p><p>Erstatte <code>get_template_part ('header');</code> med <code>get_header ();</code> og <code>get_template_part ('sidefod');</code> med <code>get_footer ();</code></p><h2><span id="Indhold">Indhold</span></h2><hr/><p>Grundlæggende arbejde, vi har afsluttet med skabelondele, betaler udbytte, når vi tilføjer nye skabelonfiler til vores tema. Nedenfor har vi listet de mest almindelige. For at undgå at overvælde dig med kodeeksempler har vi i stedet linket til kildekoden på Github.</p><h3><span id="singularphp">singular.php</span></h3><p>Indlæg og sider betragtes som ”singular”, når de vises på deres egne webadresser, da det meste af tiden er layoutet det samme for begge disse sidetyper. Men i tilfælde af at det ikke er, kan du bruge det mere specifikke <em>page.php</em> og <em>single.php</em> (indlæg) i stedet.</p><p><a href="https://github.com/DannyCooper/my-custom-theme/blob/master/singular.php" rel="nofollow noopener external noreferrer" target="_blank" data-wpel-link="external">Eksempel kode - singular.php</a></p><h3><span id="archivephp">archive.php</span></h3><p>Arkivskabeloner adskiller normalt fra entalskabeloner på to måder: de viser uddrag snarere end det fulde indhold og har en arkivhoved, der forklarer indholdet.</p><p>Henvis tilbage til skabelonhierarkiet, og du vil se, at arkivskabelonen dækker alle typer arkiver (forfatter, kategori, tag, taksonomi, dato), hvis dette ikke fungerer til din brugssag, kan du stadig bruge de mere specifikke skabeloner:</p><ul><li>author.php</li><li>category.php</li><li>tag.php</li><li>taxonomy.php</li><li>date.php</li></ul><p><a href="https://github.com/DannyCooper/my-custom-theme/blob/master/archive.php" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">Eksempel kode - archive.php</a></p><h3><span id="searchphp">search.php</span></h3><p>WordPress-websteder kan f.eks. Søges ved hjælp af parameteren? S = URL, <code>yourwebsite.com?s=test</code>. Det <em>search.php</em> skabelon udsender resultaterne af disse søgninger.</p><p><a href="https://github.com/DannyCooper/my-custom-theme/blob/master/search.php" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">Eksempel kode - search.php</a></p><h3><span id="404php">404.php</span></h3><p>Den anden erklæring, som vi tilføjede i index.php, fanger "side ikke fundet" fejl, men du kan eventuelt afkoble denne funktionalitet til sin egen skabelonfil for at have mere kontrol over output. Det er brugssagen til <em>404.php</em> skabelon fil.</p><p><a href="https://github.com/DannyCooper/my-custom-theme/blob/master/404.php" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">Eksempelkode - 404.php</a></p><h2><span id="Hjaelpefiler">Hjælpefiler</span></h2><hr/><p>Hvis du distribuerer dit tema til offentligheden, er følgende filer vigtige. Uden disse vil dit tema blive afvist fra temasager og markedspladser.</p><h3><span id="screenshotpng">screenshot.png</span></h3><p>Skærmbillede vises i wp-admin-temalisten, når brugeren vælger et nyt tema. Her er nogle af de bedste fremgangsmåder, du skal følge:</p><ul><li>Skærmbilleder skal være 1200px x 900px</li><li>Skærmbilleder skal være i .png- eller .jpg-format</li><li>Screenshots skal være en nøjagtig repræsentation af temaet</li><li>Skærmbilleder skal optimeres (brug <a href="http://tinypng.com" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">tinypng.com</a> eller lignende)</li></ul><h3><span id="readmetxt">readme.txt</span></h3><p>WordPress bruger ikke oplysninger fra <em>readme.txt</em>, det trækker alt, hvad det har brug for <em>style.css</em>. På den anden side trækker WordPress-temakataloget vigtige oplysninger fra readme-filen og betragter det som en påkrævet fil.</p><p>De fleste udviklere bruger <em>readme.txt</em> som den centrale placering for at gemme alle oplysninger om deres tema. En enkel <em>readme.txt</em> ser sådan ud:</p><pre class="EnlighterJSRAW" data-enlighter-language="css">=== Tema Navn === Kræver mindst: 5.0 Testet op til: 5.2 Kræver PHP: 5.6 Licens: GPLv2 eller nyere Licens URI: <http://www.gnu.org/licenses/gpl-2.0.html> Kort beskrivelse. Ikke mere end 150 røg. == Beskrivelse == Tema desc. == Changelog == = 1,0 = * Tilføjet ny mulighed == Ressourcer == * normalisere.css <http://necolas.github.io/normalize.css/>, (C) 2012-2016 Nicolas Gallagher og Jonathan Neal, [MIT] (<http://opensource.org/licenses/MIT>) </pre><ul><li><strong>Kræver mindst</strong> - Dette er den mindste version af WordPress, som dit tema er kompatibelt med.</li><li><strong>Testet op til</strong> - Dette felt angiver den seneste version af WordPress, dit tema er testet med.</li><li><strong>Kræver PHP</strong> - Dette felt angiver minimumversionen af ​​PHP, som dit tema fungerer på.</li><li><strong>Beskrivelse</strong> - Dette beskrivelsesfelt vises i øjeblikket ikke noget sted.</li><li><strong>Changelog</strong> - Changelog bruges ikke overalt, men udviklere og nogle brugere vil henvise til denne fil for at se, hvilke ændringer der er foretaget.</li><li><strong>Ressourcer</strong> - De fleste tredjepartsressourcer kræver en eller anden art tilskrivning. Ressourceafsnittet er et bredt accepteret sted at placere dem. Selv for ressourcer, der ikke eksplicit kræver tilskrivning, er det stadig en god praksis at liste dem her, så brugerne er opmærksomme på licenserne for ressourcer, de bruger.</li></ul><h2><span id="Sideskabeloner">Sideskabeloner</span></h2><hr/><p>Sideskabeloner giver udviklere mulighed for at oprette brugerdefinerede skabeloner, der kan bruges til individuelle indlæg og sider. For eksempel har de fleste temaer en to-kolonne (indhold - sidebjælke) layout, men på nogle sider ønsker brugeren måske bare at fokusere på indholdet og ikke vise en sidebjælke. Det er her en sideskabelon kan hjælpe.</p><p><strong>Hvordan oprettes sideskabeloner?</strong></p><p>Opret en ny mappe kaldet 'sideskabeloner' i vores temamappe, og opret en kaldet fil inden for den mappe <em>single-column.php</em>. For at fremskynde tingene kopieres al koden fra <em>singular.php</em> til <em>side-templates / single-column.php</em> og fjern opkaldet til <em>get_sidebar ()</em> da denne skabelon ikke har brug for det.</p><p>Nu skal vi tilføje en speciel header, der fortæller WordPress, at dette er en sideskabelon, det ser sådan ud:</p><pre class="EnlighterJSRAW" data-enlighter-language="css">/ * Skabelonnavn: Skabelon med én kolonne Skabelon Posttype: indlæg, side * / </pre><p>Koden er selvforklarende, vi fortæller simpelthen WordPress navnet på skabelonen, og hvilke indlægstyper den kan bruges med.</p><p>Det er alt, hvad det er der, vores nye sideskabelon er nu tilgængelig i redigeringsprogrammet under 'Sideattributter'.</p><p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" class=" shadow-2 aligncenter wp-image-17345" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20750%20643'%3E%3C/svg%3E" alt="rullemenu for sideskabelon" width="750" height="643" data-lazy-src="/images/wordpress-theme-development-101-6.jpg"/><noscript><img itemprop="url image" class=" shadow-2 aligncenter wp-image-17345" src="/images/wordpress-theme-development-101-6.jpg" alt="rullemenu for sideskabelon" width="750" height="643"/></noscript><meta itemprop="width" content="750"><meta itemprop="height" content="643"></span></p><h2><span id="RTLcss">RTL.css</span></h2><hr/><p>Ikke alle sprog læses fra venstre mod højre. Arabisk og hebraisk læses for eksempel fra højre mod venstre (RTL). Der er en enkel måde at gøre dit tema kompatibelt med RTL-sprog.</p><p>Opret en ny fil i din temamappe kaldet <em>rtl.css</em>, kopier og indsæt derefter følgende kode:</p><pre class="EnlighterJSRAW" data-enlighter-language="css">krop { retning: rtl; unicode-bidi: embed; } </pre><p>Hvis et RTL-sprog er det aktive sprog på et WordPress-websted, ved WordPress at indlæse denne CSS-fil automatisk.</p><p>Dette er en meget grundlæggende implementering af RTL-funktionalitet for at komme i gang. Hvis du er interesseret i at lære mere her, er der to fantastiske ressourcer:</p><p><a href="https://codex.wordpress.org/Right_to_Left_Language_Support" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">Dokumentation fra højre til venstre sprog</a></p><p><a href="https://github.com/WordPress/WordPress/blob/master/wp-content/themes/twentytwelve/rtl.css" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">Twenty Twenty RTL code</a></p><h2><span id="Bedste_praksis">Bedste praksis</span></h2><hr/><p>Bedste praksis har udviklet sig over tid for at gøre det lettere at opbygge og vedligeholde WordPress-temaer. Ikke kun vil det at følge disse principper hjælpe dig, men de vil også gøre det lettere for andre udviklere, når de har brug for at arbejde med din kode.</p><h3><span id="1_Brug_starttemaer">1) Brug starttemaer</span></h3><p>Starttemaer giver en solid base for dig at bygge dit tema på. De er typisk lette, indeholder lidt til ingen styling og ingen konfigurationsindstillinger. Over tid kan du muligvis bygge dit eget start-tema, som du kan basere alle dine projekter på, men for nu er her nogle populære muligheder:</p><ul><li><a href="https://underscores.me/" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">understregninger</a></li><li><a href="https://wordpress.org/themes/scaffold/" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">Stillads</a></li><li><a href="https://github.com/html5blank/html5blank" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">HTML5 Blank</a></li></ul><h3><span id="2_Laer_WordPress-kodningsstandarder_at_kende">2) Lær WordPress-kodningsstandarder at kende</span></h3><p>Kodestandarder er en måde at formatere din kode på en konsekvent måde på tværs af hele kodebasen. WordPress har kodningsstandarder for HTML, CSS, Javascript og PHP. Selvom brug af en kodningsstandard ikke har nogen indflydelse på slutbrugeroplevelsen, gør det din kode meget mere læselig. Selv hvis du ikke bruger WordPress-kodningsstandarderne, vil vi altid anbefale at bruge en standard.</p><ul><li><a href="https://make.wordpress.org/core/handbook/best-practices/coding-standards/" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">WordPress.org-kodningsstandarder</a></li><li><a href="https://github.com/WordPress/WordPress-Coding-Standards" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">WPCS</a></li><li><a href="https://www.php-fig.org/" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">PHP-kodningsstandarder</a></li></ul><h3><span id="3_Brug_lokalisering">3) Brug lokalisering</span></h3><p>Takket være frivilliges hårde arbejde er WordPress tilgængelig på hundreder af sprog. Hvis dit tema skal frigives offentligt, skal det bygges på en måde, der også giver mulighed for at det kan oversættes.</p><p>Bare rolig, det er super nemt at gøre. Alt, hvad vi skal gøre, er at sikre, at alle strenge føres gennem en 'lokaliseringsfunktion' i stedet for at blive udsendt direkte.</p><p>I stedet for dette:</p><pre class="EnlighterJSRAW" data-enlighter-language="php"><?php echo 'Previous Post'; ?></pre><p>Vi gør dette i stedet for:</p><pre class="EnlighterJSRAW" data-enlighter-language="php"><?php echo __( 'Previous Post', 'my-custom-theme' ); ?></pre><p><a href="https://developer.wordpress.org/reference/functions/__/" rel="nofollow noopener external noreferrer" target="_blank" data-wpel-link="external">__ ()</a> er en lokaliseringsfunktion, der accepterer en streng og et tekstdomæne. Funktionen returnerer en oversættelse af den leverede streng eller den originale streng, hvis en oversættelse ikke er tilgængelig.</p><h3><span id="4_Undga_plugin-funktionalitet">4) Undgå plugin-funktionalitet</span></h3><p>Når en bruger ændrer temaet, skal kun præsentationslaget ændres. Indholdet og funktionaliteten skal forblive det samme. Hvad dette betyder er, at enhver funktion, der påvirker, hvordan WordPress-roller skal være indeholdt i et plugin, ikke dit tema. Nogle eksempler på plugin-funktionalitet inkluderer:</p><ul><li>Tilpassede indlægstyper</li><li>Sidebygere</li><li>Deling af sociale medier</li><li>Søgemaskineoptimering (SEO)</li></ul><p>Selvom det kan virke praktisk (og muligvis et salgspunkt) at inkludere SEO-kontroller i et tema, gør det faktisk ondt for brugeren på lang sigt. I fremtiden bliver de nødt til at ændre deres tema, men kan ikke, fordi alle deres SEO-konfigurationer er tæt koblet til det aktuelle tema. I modsætning hertil, hvis konfigurationer blev gemt i et plugin, kunne de ændre tema uden at bekymre sig.</p><h3><span id="5_Praefiksering_forhindr_konflikter">5) Præfiksering (forhindr konflikter)</span></h3><p>For at forhindre konflikter, skal alle funktioner, klasser og globale variabler oprettet af dit tema forudindstilles. Dette er vigtigt, fordi det er umuligt at vide, hvilken anden kode der kører på din brugers websted. Præfiksering forhindrer navnekollisioner og fatale fejl.</p><p>Dit temas navn adskilt med bindestreger eller understregninger fungerer som præfik det meste af tiden. Hvis temanavnet er meget langt, kan initialerne fungere i stedet.</p><pre class="EnlighterJSRAW" data-enlighter-language="php">Tema Navn: Stillads klasse Scaffold_Class {} funktion stilladsfunktion () {} global $ stilladsglobal Tema Navn: Mit lange temanavn klasse MLTN_Class {} funktion mltn_function () {} global $ mltn_global </pre><h3><span id="6_Brug_kernefunktionalitet">6) Brug kernefunktionalitet</span></h3><p>Hvor det findes, skal du altid bruge kernefunktionalitet i modsætning til at opfinde hjulet igen. Dette inkluderer, men er ikke begrænset til, sidebjælker, navigationsmenuer, post-miniaturebilleder, brugerdefinerede overskrifter og brugerdefinerede baggrunde. Disse funktioner er blevet kæmpetestet af millioner af brugere og vedligeholdes og forbedres aktivt.</p><p>Hvis du har brug for at ændre funktionaliteten eller output af en kernefunktion, er det muligt at bruge en af ​​de mange kroge og filtre, som WordPress tilbyder. For eksempel <code>wp_nav_menu ()</code> har en "walker" -parameter, så du kan have fuld kontrol over output.</p><h3><span id="7_Romning_og_sanering_af_data">7) Rømning og sanering af data</span></h3><p>Som temaudvikler skal du være bekendt med at undslippe og desinficere data for at beskytte dine brugere mod potentielle udnyttelser.</p><p><strong>Escaping</strong></p><p>Undslip er processen med at kontrollere data, der er sikker, før de udsendes, og desinficering kontrollerer data, før de gemmes i databasen.</p><p>WordPress har hjælperfunktioner, som du kan bruge til at undslippe data, så du ikke behøver at opbygge dem selv. <em>esc_html</em> er et eksempel på en undslippende funktion. Sådan ser en uhindret udgang ud:</p><pre class="EnlighterJSRAW" data-enlighter-language="php"><code>echo get_theme_mod ('error_page_title');</code></pre><p>For at undslippe output gør vi dette:</p><pre class="EnlighterJSRAW" data-enlighter-language="php"><code>ekko esc_html (get_theme_mod ('error_page_title'));</code></pre><p>Nogle andre undslipende funktioner, som du skal være opmærksom på, er <a href="https://developer.wordpress.org/reference/functions/esc_attr/" rel="nofollow noopener external noreferrer" target="_blank" data-wpel-link="external">esc_attr ()</a>, <a href="https://developer.wordpress.org/reference/functions/absint/" rel="nofollow noopener external noreferrer" target="_blank" data-wpel-link="external">absint ()</a>, <a href="https://developer.wordpress.org/reference/functions/esc_url/" rel="nofollow noopener external noreferrer" target="_blank" data-wpel-link="external">esc_url ()</a>.</p><p>Det er også muligt at oversætte og undslippe en streng ved hjælp af en enkelt funktion:</p><pre class="EnlighterJSRAW" data-enlighter-language="php"><code>echo esc_html (__ ('404 ikke fundet', 'min-brugerdefinerede tema'));</code></pre><p>Bliver til:</p><pre class="EnlighterJSRAW" data-enlighter-language="php">echo esc_html __ ('404 ikke fundet', 'min-brugerdefinerede tema'); // eller esc_html_e ('404 ikke fundet', 'min-brugerdefinerede tema'); </pre><p><strong>Tip:</strong> Overalt i dit tema, hvor du har <code>ekko $</code> bør du kontrollere, om det skal undgås, gør det normalt.</p><p><strong>Sterilisering</strong></p><p>Hvis du tilføjer indstillinger til dit tema, skal du sørge for, at de data, som brugerne indtaster til disse indstillinger, er sikre, inden de går ind i databasen. WordPress har en <a href="https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">antal funktioner</a> at hjælpe med at desinficere input.</p><p>Når du tilføjer en indstilling til dit tema ved hjælp af Customizer API har det en parameter til kaldet '<em>sanitize_callback</em>‘Som accepterer navnet på en sanitetsfunktion. Ethvert input, som indstillingen tager, kontrolleres af den funktion, du leverer til '<em>sanitize_callback</em>‘Inden den går ind i databasen.</p><p>Det fremhæver vigtigheden af ​​sanering, som, selv hvis en af ​​dine indstillinger mangler <em>sanitize_callback</em> det accepteres ikke i WordPress-temakataloget.</p><pre class="EnlighterJSRAW" data-enlighter-language="php">$ Wp_customize-> add_setting ( 'My_custom_theme_setting', array ( 'sanitize_callback' => 'sanitize_text_field' // En kernerensningsfunktion. ) ); </pre><p>En officiel liste over sanitets- og undslipsfunktioner kan ses her: <a href="https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">Datasanitisering / undslip</a></p><h2><span id="Distributionskanaler">Distributionskanaler</span></h2><hr/><p>Temaer kan distribueres via forskellige kanaler afhængigt af det resultat, du ønsker at opnå. Hvis dit resultat er blot at bidrage til open source-samfundet, er der ingen bedre måde at gøre det end at uploade dit tema til WordPress-biblioteket. Hvis du i stedet søger at sælge dit tema og tjene penge direkte, er der måder at gøre det også.</p><p>Her er de førende websteder til temadistribution:</p><h3><span id="1_WordPressorg_Bedste_sted_at_hente_downloads_og_brugere"><strong>1) WordPress.org (Bedste sted at hente downloads og brugere)</strong></span></h3><p>Den primære fordel ved at være vært for dit tema på WordPress er, at du får et synligt boost fra, at dit tema ses ikke kun på wordpress.org-webstedet, men også på websitet <em>wp-admin</em> instrumentbræt.</p><p>En anden fordel ved at være vært for dit tema med WordPress er det indbyggede opdateringssystem. Hvis du opdaterer dit tema, vil alle brugere blive underrettet om deres <em>wp-admin</em> dashboards og fik en nem sti at opdatere til den nyeste version.</p><p>WordPress.org accepterer kun gratis temaer, men det betyder ikke, at du ikke kan tjene penge. Et gratis tema kan være en fantastisk kanal til promovering af dit premium tema, plugin eller service.</p><h3><span id="2_WordPresscom"><strong>2) WordPress.com</strong></span></h3><p>WordPress.com er vært for både gratis og premium temaer. De har dog ikke været åbne for nye forfatterindlæg i et par år nu.</p><h3><span id="3_ThemeForest"><strong>3) ThemeForest</strong></span></h3><p><a href="http://themeforest.net/" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">ThemeForest</a> er den førende markedsplads for premium-temaer. Det mest solgte tema (Avada) har salg over $ 5.000.000.</p><p>Generelt forventer købere på Theme Forest fuldt udstyrede "multifunktionelle" temaer. Alle de øverste temaer har sidebyggerfunktionalitet og understøttes af team af udviklere. Det er et meget hårdt marked at bryde ind for nye forfattere.</p><h3><span id="4_Creative_Market_og_Mojo_Marketplace"><strong>4) Creative Market og Mojo Marketplace</strong></span></h3><p><a href="https://creativemarket.com/" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">Kreativt marked</a> Og <a href="https://www.mojomarketplace.com/" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">Mojo markedsplads</a> er små aktører på premium-temamarkedet, hvorfor vi grupperede dem sammen. De tilbyder begge den samme service som ThemeForest, men i mindre skala.</p><h3><span id="5_Github"><strong>5) Github</strong></span></h3><p><a href="https://github.com" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">Github</a> er den nemmeste måde at offentliggøre dit gratis tema på. Der er ingen gennemgangsproces og ingen retningslinjer, der skal følges. Du drager dog ikke fordel af synligheden af ​​wordpress.org og bliver nødt til at opbygge din egen opdateringsmekanisme for brugere for at få de nyeste versioner.</p><h2><span id="Samler_det_hele">Samler det hele</span></h2><hr/><h3><span id="1_Test_dit_tema"><strong>1) Test dit tema</strong></span></h3><p><strong>Temaenhedstest</strong></p><p>Det <a href="https://codex.wordpress.org/Theme_Unit_Test" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">Temaenhedstest</a> er en standard WordPress-indholdsimportfil, der indeholder en bred vifte af indholdstyper og kanter. Det er let at uploade til dit udviklingsmiljø og vil fremhæve en masse scenarier, du måske har overset.</p><p><strong>WP_DEBUG</strong></p><p>Som temaudvikler skal du teste dit tema med <a href="https://wordpress.org/support/article/debugging-in-wordpress/" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">WP_DEBUG</a> aktiveret er det blotte minimum, du skal gøre. Dit tema skal ikke returnere fejl eller advarsler, når WP_DEBUG er indstillet til sand.</p><p>Det er også vigtigt at gentage testen med de forskellige PHP-versioner, som dit tema understøtter. Med hver større PHP-frigivelse er der nye ændringer, advarsler og afskrivninger. Det er ikke ualmindeligt, at et tema er fejlfrit på PHP5.6, men viser fejl på PHP7.</p><p>For at aktivere WP_DEBUG skal du tilføje følgende kode til <em>wp-config.php</em>:</p><pre class="EnlighterJSRAW" data-enlighter-language="php">DEFINE ('WP_DEBUG', sandt); </pre><p><strong>Monster widget</strong></p><p><a href="https://wordpress.org/plugins/monster-widget/" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">Monster widget</a> er et nyttigt plugin, der giver dig mulighed for at tilføje 13 core widgets til din sidebar på én gang. Kerne-widgets bruger en række HTML-elementer, hvilket gør dem perfekte til at teste dit tema.</p><p><strong>Tema Sniffer</strong></p><p>Det <a href="https://wordpress.org/plugins/theme-sniffer/" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">Tema Sniffer</a> er et plugin oprettet af Theme Review Team (TRT). Det fanger mange (men ikke alle) undslipnings- og lokaliseringsfejl. Det kontrollerer også dit tema i forhold til WordPress-kodningsstandarderne.</p><h3><span id="2_Indsendelse_af_dit_tema_til_WordPressorg"><strong>2) Indsendelse af dit tema til WordPress.org</strong></span></h3><p>I begyndelsen af ​​denne guide sagde vi, at når du nåede slutningen, ville du have et tema, som du kunne sende til wordpress.org. Lad os se på den proces.</p><p><strong>Upload-proces</strong></p><p>Uploadprocessen er enkel. Opret eller log ind på din WordPress-konto og naviger derefter til denne side - <a href="https://wordpress.org/themes/upload/" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">https://wordpress.org/themes/upload/</a></p><p>Du kan zip dit tema og uploade det lige nu, men her er nogle ting, du måske vil vide, først.</p><p><strong>Krav</strong></p><p>Theme Review Team (TRT) har et strengt sæt <a href="https://make.wordpress.org/themes/handbook/review/required/" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">krav</a>. Dit tema accepteres ikke i biblioteket, før det mødes <strong>alle</strong> kravene.</p><p><strong>Gennemgangsproces</strong></p><p>Når du uploader et tema, er der en to-trins gennemgangsproces, det skal passere, før det kan accepteres i biblioteket.</p><p>Først udføres en automatisk kontrol, så snart du trykker på <em>Upload</em>. Bag kulisserne fungerer den automatiske checker på en meget lignende måde som Theme Sniffer-plugin. Hvis det finder nogen fejl, vil det afvise temaet, og uploadprocessen slutter der.</p><p>Hvis dit tema passerer den automatiske check, slutter det sig til en kø af temaer, der venter på en menneskelig gennemgang. Den menneskelige gennemgang afsluttes af frivillige fra TRT. Antallet af temaer i køen overstiger langt antallet af korrekturlæsere, hvilket betyder, at det ofte kan tage 2-3 måneder, før dit tema når frem til køen.</p><p>Det er bydende nødvendigt, at dit tema er fejlfrit og overholder alle krav, når det når det menneskelige gennemgangsfase, som om det har mere end 3 betydelige fejl, det kan afvises. Hvis et tema afvises i den menneskelige gennemgangsfase, skal det slutte sig til køen bagpå, hvilket betyder, at man venter 2-3 måneder igen til en anden menneskelig gennemgang.</p><p>Nyttig ressource: <a href="https://wptavern.com/the-most-common-wordpress-theme-development-mistakes-and-how-to-fix-them" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">De mest almindelige fejl i WordPress-temaudviklingen (og hvordan fikser man dem)</a></p><p>Det er værd at bemærke, at TRT altid leder efter <a href="https://make.wordpress.org/themes/handbook/get-involved/become-a-reviewer/" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">nye korrekturlæsere</a>, frivilligt arbejde kan være en god læringsoplevelse og en måde at bidrage til open source-samfundet.</p><h3><span id="3_Din_fortegnelse_over_temaer"><strong>3) Din fortegnelse over temaer</strong></span></h3><p>Tillykke, dit tema er blevet godkendt! Du har nu din egen fortegnelse over det <a href="https://wordpress.org/themes/arke/" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">ser sådan ud</a>.</p><p>Her er en oversigt over, hvad du kan forvente at se på denne side:</p><ul><li><strong>Skærmbillede -</strong> Screenshotet er den første ting, som potentielle brugere ser, så gør det så tiltalende som muligt. Men husk, at det stadig skal være en nøjagtig repræsentation af temaet og ikke en Photoshop-gengivelse. Tag inspiration fra <a href="https://wordpress.org/themes/browse/popular/" target="_blank" rel="nofollow noopener noreferrer external" data-wpel-link="external">mest populære temaer</a>.</li><li><strong>Beskrivelse -</strong> Den beskrivelse, der er trukket fra <em>style.css</em> er et ideelt sted at beskrive dit tema og dets nøglefunktioner. Det hjælper også med at liste anbefalede eller krævede plugins her. Beskrivelsen understøtter ikke nogen formatering (fed, kursiv, hyperlinks) eller endda linjeskift.</li><li><strong>Mærker -</strong> Dette er en repræsentation af de tags, du har angivet i <em>style.css</em>. Kun <a href="https://api.wordpress.org/themes/info/1.1/?action=feature_list" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">disse tags her</a> accepteres.</li><li><strong>Preview-knap -</strong> Forhåndsvisningen genereres af wordpress.org, og som temaudviklere har vi ingen kontrol over output. Desværre, da previewer bruger basisindhold og ingen konfiguration, resulterer det ofte i en mindre end perfekt preview.</li><li><strong>Tema Startside Link</strong> - URL'en til <em>Eksempel</em> knappen trækkes fra feltet 'Tema URI' i din stil.css. Der er strenge krav om, at denne URL kun skal bruges til at vise en side, der viser oplysninger om dit tema.</li><li><strong>Aktive installationer</strong> - Dette er antallet af websteder, der aktivt bruger temaet. Nummeret afrundes til det nærmeste ti, hundrede eller tusinde. Det er ikke muligt at hente et nøjagtigt antal.</li><li><strong>Downloads pr. Dag</strong> - Dette er, hvor mange gange dit tema er blevet downloadet. En 'Download' kan være en ny download eller en temaopdatering.</li><li><strong>Anmeldelser -</strong> For at en bruger kan forlade en anmeldelse skal de være logget ind på en wordpress.org-konto. Generelt er anmeldelser svært at få, medmindre du eksplicit beder dine brugere om at indsende dem.</li><li><strong>Support</strong> - Den indbyggede supportplatform er fantastisk til at styre og løse problemer med dit tema. Brugeren skal være logget ind for at oprette en supporttråd.</li><li><strong>Oversættelser</strong> - Oversættelsesplatformen er en fantastisk ressource. Hvis du har fulgt rådene i denne guide til lokalisering af dit tema, vil dine brugere være i stand til at oversætte det til andre sprog og udvide din potentielle brugerbase ud over kun engelsktalende brugere.</li></ul><h3><span id="4_Opdatering_af_dit_tema">4) Opdatering af dit tema</span></h3><p>Når du foretager ændringer i dit tema i fremtiden og skal opdatere den version, der er hostet på WordPress, er processen enkel.</p><p>Opdater først feltet "Version:", og ændre log ind <em>readme.txt</em>. Zip derefter filen og upload den igen ved hjælp af den samme <a href="https://wordpress.org/themes/upload/" target="_blank" rel="nofollow noreferrer noopener external" data-wpel-link="external">upload side</a> som før.</p><p>Systemet genkender det som en opdatering og godkender det automatisk, så det ikke kræver en anden menneskelig gennemgang.</p> <input type="hidden" value="4736"><div class="uab-frontend-wrapper-outer"><div id="uab_rid_3bdc8" class="uab-frontend-inner-layer uab-frontend-wrapper-author-1 " data-timeout="1000"><div id="uab-frontend-wrapper" class="uab-frontend-wrapper uab-template-1"><div class="uab-tab-content"><div class="uab-defaut-tab uab-clearfix"><div class="uab-author-profile-pic"><div class="uap-profile-image"> <img alt='' src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20200%20200'%3E%3C/svg%3E" data-lazy-srcset='https://abgx360.net/wp-content/plugins/clearfy-pro/assets/images/default-avatar.png 2x' class='avatar avatar-200 photo' height='200' width='200' data-lazy-src="https://abgx360.net/wp-content/plugins/clearfy-pro/assets/images/default-avatar.png"/><noscript><img alt='' src='https://abgx360.net/wp-content/plugins/clearfy-pro/assets/images/default-avatar.png' srcset='https://abgx360.net/wp-content/plugins/clearfy-pro/assets/images/default-avatar.png 2x' class='avatar avatar-200 photo' height='200' width='200'/></noscript></div></div><div class="uab-front-content"><div class="uab-display-name"> <a href="https://abgx360.net/author/admin/" target="_blank" data-wpel-link="internal">Jeffrey Wilson</a> <span class="uab-user-role uab-role-Administrator">Administrator</span></div><div class="uab-short-info"> Sorry! The Author has not filled his profile.</div><div class="uab-short-contact"></div><div class="uab-social-icons"> <span class="uab-contact-label">follow me</span><ul id="uap-social-outlets-fields"></ul></div></div></div></div></div></div></div><div class="flat_pm_end"></div><div class="ajax-content" data-id="87" ></div></div></article><div class="entry-footer"> <span class="entry-meta__comments" title="Comments"><span class="fa fa-comment-o"></span> 0</span></div><div class="b-share b-share--post"><div class="b-share__title">Like this post? Please share to your friends:</div> <span class="b-share__ico b-share__vk js-share-link" data-uri="https://vk.com/share.php?url=https%3A%2F%2Fabgx360.net%2Fingen-kategori%2Fwordpress-temaudvikling-101%2F"></span> <span class="b-share__ico b-share__fb js-share-link" data-uri="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fabgx360.net%2Fingen-kategori%2Fwordpress-temaudvikling-101%2F"></span> <span class="b-share__ico b-share__tw js-share-link" data-uri="https://twitter.com/share?text=WordPress+Temaudvikling+%28101%29&url=https%3A%2F%2Fabgx360.net%2Fingen-kategori%2Fwordpress-temaudvikling-101%2F"></span> <span class="b-share__ico b-share__ok js-share-link" data-uri="https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl=https%3A%2F%2Fabgx360.net%2Fingen-kategori%2Fwordpress-temaudvikling-101%2F"></span> <span class="b-share__ico b-share__whatsapp js-share-link js-share-link-no-window" data-uri="whatsapp://send?text=WordPress+Temaudvikling+%28101%29%20https%3A%2F%2Fabgx360.net%2Fingen-kategori%2Fwordpress-temaudvikling-101%2F"></span> <span class="b-share__ico b-share__viber js-share-link js-share-link-no-window" data-uri="viber://forward?text=WordPress+Temaudvikling+%28101%29%20https%3A%2F%2Fabgx360.net%2Fingen-kategori%2Fwordpress-temaudvikling-101%2F"></span> <span class="b-share__ico b-share__telegram js-share-link js-share-link-no-window" data-uri="https://telegram.me/share/url?url=https%3A%2F%2Fabgx360.net%2Fingen-kategori%2Fwordpress-temaudvikling-101%2F&text=WordPress+Temaudvikling+%28101%29"></span></div><div class='yarpp-related'><div class="b-related"><div class="b-related__header"><span>Related articles</span></div> .<div class="b-related__items"><div id="post-5323" class="post-card post-5323 post type-post status-publish format-standard category-ingen-kategori" itemscope itemtype="http://schema.org/BlogPosting"><div class="post-card__image"> <a href="https://abgx360.net/ingen-kategori/inmotion-kontrolpanelvejledning/" data-wpel-link="internal"><div class="thumb-wide"></div><div class="entry-meta"> <span class="entry-category"><span itemprop="articleSection">Ingen kategori</span></span> <span class="entry-meta__info"> <span class="entry-meta__comments" title="Comments"><span class="fa fa-comment-o"></span> 0</span> </span></div> </a></div><header class="entry-header"><div class="entry-title" itemprop="name"><a href="https://abgx360.net/ingen-kategori/inmotion-kontrolpanelvejledning/" rel="bookmark" itemprop="url" data-wpel-link="internal"><span itemprop="headline">InMotion Kontrolpanelvejledning</span></a></div></header><div class="post-card__content" itemprop="articleBody"> Contents1 Hvilket kontrolpanel bruger InMotion?2 Hvordan kan jeg logge ind på min cPanel?3 Hvad</div><meta itemprop="author" content="Jeffrey Wilson"/><meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://abgx360.net/ingen-kategori/inmotion-kontrolpanelvejledning/" content="InMotion Kontrolpanelvejledning"><meta itemprop="dateModified" content="2020-06-07"><meta itemprop="datePublished" content="2020-06-07T14:18:56+03:00"><div itemprop="publisher" itemscope itemtype="https://schema.org/Organization"><meta itemprop="name" content="abgx360.net"><meta itemprop="telephone" content="abgx360.net"><meta itemprop="address" content="https://abgx360.net"></div></div><div id="post-5416" class="post-card post-5416 post type-post status-publish format-standard category-ingen-kategori" itemscope itemtype="http://schema.org/BlogPosting"><div class="post-card__image"> <a href="https://abgx360.net/ingen-kategori/lader-fatcow-dig-eje-dit-websted/" data-wpel-link="internal"><div class="thumb-wide"></div><div class="entry-meta"> <span class="entry-category"><span itemprop="articleSection">Ingen kategori</span></span> <span class="entry-meta__info"> <span class="entry-meta__comments" title="Comments"><span class="fa fa-comment-o"></span> 0</span> </span></div> </a></div><header class="entry-header"><div class="entry-title" itemprop="name"><a href="https://abgx360.net/ingen-kategori/lader-fatcow-dig-eje-dit-websted/" rel="bookmark" itemprop="url" data-wpel-link="internal"><span itemprop="headline">Lader FatCow dig eje dit websted?</span></a></div></header><div class="post-card__content" itemprop="articleBody"> Ja helt sikkert. FatCow leverer ganske enkelt en nem, overkommelig platform til at være</div><meta itemprop="author" content="Jeffrey Wilson"/><meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://abgx360.net/ingen-kategori/lader-fatcow-dig-eje-dit-websted/" content="Lader FatCow dig eje dit websted?"><meta itemprop="dateModified" content="2020-06-07"><meta itemprop="datePublished" content="2020-06-07T14:18:56+03:00"><div itemprop="publisher" itemscope itemtype="https://schema.org/Organization"><meta itemprop="name" content="abgx360.net"><meta itemprop="telephone" content="abgx360.net"><meta itemprop="address" content="https://abgx360.net"></div></div><div id="post-5026" class="post-card post-5026 post type-post status-publish format-standard category-ingen-kategori" itemscope itemtype="http://schema.org/BlogPosting"><div class="post-card__image"> <a href="https://abgx360.net/ingen-kategori/anst-en-webudvikler-eller-gr-det-dig-selv/" data-wpel-link="internal"> <img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20330%20140'%3E%3C/svg%3E" width="330" height="140" class="attachment-thumb-wide wp-post-image" Array data-lazy-src="/images/hire-a-web-developer-or-do-it-yourself.jpg"/><noscript><img src="/images/hire-a-web-developer-or-do-it-yourself.jpg" width="330" height="140" class="attachment-thumb-wide wp-post-image" Array/></noscript><div class="entry-meta"> <span class="entry-category"><span itemprop="articleSection">Ingen kategori</span></span> <span class="entry-meta__info"> <span class="entry-meta__comments" title="Comments"><span class="fa fa-comment-o"></span> 0</span> </span></div> </a></div><header class="entry-header"><div class="entry-title" itemprop="name"><a href="https://abgx360.net/ingen-kategori/anst-en-webudvikler-eller-gr-det-dig-selv/" rel="bookmark" itemprop="url" data-wpel-link="internal"><span itemprop="headline">Ansæt en webudvikler, eller gør det dig selv?</span></a></div></header><div class="post-card__content" itemprop="articleBody"> Hvis du vil starte et nyt websted – det være sig til forretningsformål eller</div><meta itemprop="author" content="Jeffrey Wilson"/><meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://abgx360.net/ingen-kategori/anst-en-webudvikler-eller-gr-det-dig-selv/" content="Ansæt en webudvikler, eller gør det dig selv?"><meta itemprop="dateModified" content="2020-06-07"><meta itemprop="datePublished" content="2020-06-07T14:17:35+03:00"><div itemprop="publisher" itemscope itemtype="https://schema.org/Organization"><meta itemprop="name" content="abgx360.net"><meta itemprop="telephone" content="abgx360.net"><meta itemprop="address" content="https://abgx360.net"></div></div><div id="post-5275" class="post-card post-5275 post type-post status-publish format-standard category-ingen-kategori" itemscope itemtype="http://schema.org/BlogPosting"><div class="post-card__image"> <a href="https://abgx360.net/ingen-kategori/bluehost-kontrolpanelvejledning/" data-wpel-link="internal"><div class="thumb-wide"></div><div class="entry-meta"> <span class="entry-category"><span itemprop="articleSection">Ingen kategori</span></span> <span class="entry-meta__info"> <span class="entry-meta__comments" title="Comments"><span class="fa fa-comment-o"></span> 0</span> </span></div> </a></div><header class="entry-header"><div class="entry-title" itemprop="name"><a href="https://abgx360.net/ingen-kategori/bluehost-kontrolpanelvejledning/" rel="bookmark" itemprop="url" data-wpel-link="internal"><span itemprop="headline">BlueHost Kontrolpanelvejledning</span></a></div></header><div class="post-card__content" itemprop="articleBody"> Alle BlueHost-konti inkluderer det brancheførende cPanel-kontrolpanel. Det er velorganiseret og gør det nemt at</div><meta itemprop="author" content="Jeffrey Wilson"/><meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://abgx360.net/ingen-kategori/bluehost-kontrolpanelvejledning/" content="BlueHost Kontrolpanelvejledning"><meta itemprop="dateModified" content="2020-06-07"><meta itemprop="datePublished" content="2020-06-07T14:18:56+03:00"><div itemprop="publisher" itemscope itemtype="https://schema.org/Organization"><meta itemprop="name" content="abgx360.net"><meta itemprop="telephone" content="abgx360.net"><meta itemprop="address" content="https://abgx360.net"></div></div><div id="post-5394" class="post-card post-5394 post type-post status-publish format-standard category-ingen-kategori" itemscope itemtype="http://schema.org/BlogPosting"><div class="post-card__image"> <a href="https://abgx360.net/ingen-kategori/sdan-overfres-dit-websted-til-ehost/" data-wpel-link="internal"><div class="thumb-wide"></div><div class="entry-meta"> <span class="entry-category"><span itemprop="articleSection">Ingen kategori</span></span> <span class="entry-meta__info"> <span class="entry-meta__comments" title="Comments"><span class="fa fa-comment-o"></span> 0</span> </span></div> </a></div><header class="entry-header"><div class="entry-title" itemprop="name"><a href="https://abgx360.net/ingen-kategori/sdan-overfres-dit-websted-til-ehost/" rel="bookmark" itemprop="url" data-wpel-link="internal"><span itemprop="headline">Sådan overføres dit websted til eHost</span></a></div></header><div class="post-card__content" itemprop="articleBody"> Opdatering til 2017: eHost blev solgt til ny ledelse og forværredes hurtigt, som du</div><meta itemprop="author" content="Jeffrey Wilson"/><meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://abgx360.net/ingen-kategori/sdan-overfres-dit-websted-til-ehost/" content="Sådan overføres dit websted til eHost"><meta itemprop="dateModified" content="2020-06-07"><meta itemprop="datePublished" content="2020-06-07T14:18:56+03:00"><div itemprop="publisher" itemscope itemtype="https://schema.org/Organization"><meta itemprop="name" content="abgx360.net"><meta itemprop="telephone" content="abgx360.net"><meta itemprop="address" content="https://abgx360.net"></div></div><div id="post-5433" class="post-card post-5433 post type-post status-publish format-standard category-ingen-kategori" itemscope itemtype="http://schema.org/BlogPosting"><div class="post-card__image"> <a href="https://abgx360.net/ingen-kategori/top-10-premium-wordpress-temaer-til-kunstnere-og/" data-wpel-link="internal"><div class="thumb-wide"></div><div class="entry-meta"> <span class="entry-category"><span itemprop="articleSection">Ingen kategori</span></span> <span class="entry-meta__info"> <span class="entry-meta__comments" title="Comments"><span class="fa fa-comment-o"></span> 0</span> </span></div> </a></div><header class="entry-header"><div class="entry-title" itemprop="name"><a href="https://abgx360.net/ingen-kategori/top-10-premium-wordpress-temaer-til-kunstnere-og/" rel="bookmark" itemprop="url" data-wpel-link="internal"><span itemprop="headline">Top 10 premium WordPress-temaer til kunstnere og annoncer</span></a></div></header><div class="post-card__content" itemprop="articleBody"> Leder du efter et tema, der vil hjælpe dig med effektivt at vise dine</div><meta itemprop="author" content="Jeffrey Wilson"/><meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://abgx360.net/ingen-kategori/top-10-premium-wordpress-temaer-til-kunstnere-og/" content="Top 10 premium WordPress-temaer til kunstnere og annoncer"><meta itemprop="dateModified" content="2020-06-07"><meta itemprop="datePublished" content="2020-06-07T14:18:56+03:00"><div itemprop="publisher" itemscope itemtype="https://schema.org/Organization"><meta itemprop="name" content="abgx360.net"><meta itemprop="telephone" content="abgx360.net"><meta itemprop="address" content="https://abgx360.net"></div></div></div></div></div><meta itemprop="author" content="Jeffrey Wilson"><meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://abgx360.net/ingen-kategori/wordpress-temaudvikling-101/" content="WordPress Temaudvikling (101)"><meta itemprop="dateModified" content="2020-06-07"><meta itemprop="datePublished" content="2020-06-07T14:17:30+03:00"><div itemprop="publisher" itemscope itemtype="https://schema.org/Organization"><meta itemprop="name" content="abgx360.net"><meta itemprop="telephone" content="abgx360.net"><meta itemprop="address" content="https://abgx360.net"></div></main></div></div><aside id="secondary" class="widget-area" itemscope itemtype="http://schema.org/WPSideBar"><div id="uab_author_box_widget-2" class="widget UAB_Author_Box_Widget"><div class="uab-abw-wrapper template-1"></div></div><div id="search-4" class="widget widget_search"><form role="search" method="get" id="searchform_9995" action="https://abgx360.net/" class="search-form"> <label class="screen-reader-text" for="s_9995">Search: </label> <input type="text" value="" name="s" id="s_9995" class="search-form__text"> <button type="submit" id="searchsubmit_9995" class="search-form__submit"></button></form></div><div id="arpw-widget-2" class="widget arpw-widget-random "><div class="arpw-random-post "><ul class="arpw-ul arpw-widget-2"><li class="arpw-li arpw-clearfix arpw-1"><a class="arpw-title" href="https://abgx360.net/cat-tutorials/so-verwenden-sie-weglot-zum-ubersetzen-ihrer/" rel="bookmark" data-wpel-link="internal">So verwenden Sie Weglot zum Übersetzen Ihrer WordPress-Site</a></li><li class="arpw-li arpw-clearfix arpw-2"><a class="arpw-title" href="https://abgx360.net/cat-seo/recerca-i-us-de-paraules-clau-de-wordpress/" rel="bookmark" data-wpel-link="internal">Recerca i ús de paraules clau de WordPress</a></li><li class="arpw-li arpw-clearfix arpw-3"><a class="arpw-title" href="https://abgx360.net/otzivi/pregled-na-wp-compress-lesna-i-brza-optimizacija/" rel="bookmark" data-wpel-link="internal">Преглед на WP Compress: Лесна и бърза оптимизация на изображения за WordPress</a></li><li class="arpw-li arpw-clearfix arpw-4"><a class="arpw-title" href="https://abgx360.net/cat-ressenyes/revisio-del-control-lliscant-revisio-de/" rel="bookmark" data-wpel-link="internal">Revisió del control lliscant Revisió de complements de WordPress i com guiar-lo</a></li><li class="arpw-li arpw-clearfix arpw-5"><a class="arpw-title" href="https://abgx360.net/cat-sonstiges/15-buddypress-plugins-die-sie-haben-mussen/" rel="bookmark" data-wpel-link="internal">15+ BuddyPress Plugins, die Sie haben müssen</a></li><li class="arpw-li arpw-clearfix arpw-6"><a class="arpw-title" href="https://abgx360.net/ei-luokkaa/tarjoaako-bluehost-verkkosivustojen-rakentajaa/" rel="bookmark" data-wpel-link="internal">Tarjoaako BlueHost verkkosivustojen rakentajaa?</a></li><li class="arpw-li arpw-clearfix arpw-7"><a class="arpw-title" href="https://abgx360.net/kategooriat-pole/midway-tundliku-reisi-wp-teema-uksikasjalik/" rel="bookmark" data-wpel-link="internal">Midway – tundliku reisi WP teema üksikasjalik ülevaade</a></li><li class="arpw-li arpw-clearfix arpw-8"><a class="arpw-title" href="https://abgx360.net/cat-consells/com-compartir-publicacions-de-wordpress/" rel="bookmark" data-wpel-link="internal">Com compartir publicacions de WordPress automàticament amb el buffer</a></li><li class="arpw-li arpw-clearfix arpw-9"><a class="arpw-title" href="https://abgx360.net/noticies-i-comunitat/com-es-que-el-tema-total-de-wordpress-ha-sigut/" rel="bookmark" data-wpel-link="internal">Com és que el tema total de WordPress ha sigut encara més impressionant!</a></li><li class="arpw-li arpw-clearfix arpw-10"><a class="arpw-title" href="https://abgx360.net/cat-recenze/siteground-recenze-web-hosting/" rel="bookmark" data-wpel-link="internal">SiteGround Recenze Web Hosting</a></li><li class="arpw-li arpw-clearfix arpw-11"><a class="arpw-title" href="https://abgx360.net/cat-tipy/pijeti-pracovnich-postup-pro-nyni-kdy-je-wordpress/" rel="bookmark" data-wpel-link="internal">Přijetí pracovních postupů Pro nyní, když je WordPress vše vyrostlé</a></li><li class="arpw-li arpw-clearfix arpw-12"><a class="arpw-title" href="https://abgx360.net/sveti/wordpress-wp-rest-api-kakvo-oznachava-za-vas/" rel="bookmark" data-wpel-link="internal">WordPress WP REST API: Какво означава за вас</a></li><li class="arpw-li arpw-clearfix arpw-13"><a class="arpw-title" href="https://abgx360.net/sveti/wordpress-komentari-oshhipva-za-da-optimizira/" rel="bookmark" data-wpel-link="internal">WordPress Коментари Ощипва, за да оптимизира вашия сайт</a></li><li class="arpw-li arpw-clearfix arpw-14"><a class="arpw-title" href="https://abgx360.net/smieny/25-nejlepich-temat-wordpress-cafe-restaurant/" rel="bookmark" data-wpel-link="internal">25+ nejlepších témat WordPress Cafe & Restaurant</a></li><li class="arpw-li arpw-clearfix arpw-15"><a class="arpw-title" href="https://abgx360.net/kategooriat-pole/parimad-staatilised-saidigeneraatorid/" rel="bookmark" data-wpel-link="internal">Parimad staatilised saidigeneraatorid</a></li><li class="arpw-li arpw-clearfix arpw-16"><a class="arpw-title" href="https://abgx360.net/kategooriat-pole/online-ariideed/" rel="bookmark" data-wpel-link="internal">Online-äriideed</a></li><li class="arpw-li arpw-clearfix arpw-17"><a class="arpw-title" href="https://abgx360.net/smieny/6-nejlepich-alternativ-seo-pro-stranky-wordpress/" rel="bookmark" data-wpel-link="internal">6 nejlepších alternativ SEO pro stránky WordPress</a></li><li class="arpw-li arpw-clearfix arpw-18"><a class="arpw-title" href="https://abgx360.net/cat-sonstiges/10-beste-a-b-split-test-tools-fur-wordpress-zur/" rel="bookmark" data-wpel-link="internal">10+ Beste A / B-Split-Test-Tools für WordPress zur Verbesserung der Conversion-Raten</a></li><li class="arpw-li arpw-clearfix arpw-19"><a class="arpw-title" href="https://abgx360.net/cat-tipy/7-tip-pro-vytvaeni-poutavych-pispvk-wordpress/" rel="bookmark" data-wpel-link="internal">7 tipů pro vytváření poutavých příspěvků WordPress</a></li><li class="arpw-li arpw-clearfix arpw-20"><a class="arpw-title" href="https://abgx360.net/cat-tipy/the-ultimate-wordpress-travel-toolkit-pro-sputni/" rel="bookmark" data-wpel-link="internal">The Ultimate WordPress Travel Toolkit pro spuštění blogu, když jste pryč</a></li><li class="arpw-li arpw-clearfix arpw-21"><a class="arpw-title" href="https://abgx360.net/uroci/kak-da-instalirate-wordpress-v-digitalocean/" rel="bookmark" data-wpel-link="internal">Как да инсталирате WordPress в DigitalOcean</a></li><li class="arpw-li arpw-clearfix arpw-22"><a class="arpw-title" href="https://abgx360.net/page/bluehost-11/" rel="bookmark" data-wpel-link="internal">Προσφέρει η BlueHost Πρότυπα ιστότοπου;</a></li><li class="arpw-li arpw-clearfix arpw-23"><a class="arpw-title" href="https://abgx360.net/cat-tipps/wordpress-glossar-fur-anfanger-verwirrende/" rel="bookmark" data-wpel-link="internal">WordPress-Glossar für Anfänger (verwirrende Begriffe erklärt!)</a></li><li class="arpw-li arpw-clearfix arpw-24"><a class="arpw-title" href="https://abgx360.net/sveti/personalizirajte-vashata-wordpress-tema-s-tezi/" rel="bookmark" data-wpel-link="internal">Персонализирайте вашата WordPress тема с тези полезни инструменти</a></li><li class="arpw-li arpw-clearfix arpw-25"><a class="arpw-title" href="https://abgx360.net/cat-recenze/recenze-youzer-doplnk-buddypress-bohaty-na-funkce/" rel="bookmark" data-wpel-link="internal">Recenze Youzer: Doplněk BuddyPress bohatý na funkce pro WordPress</a></li><li class="arpw-li arpw-clearfix arpw-26"><a class="arpw-title" href="https://abgx360.net/uroci/kak-da-dobavite-google-shriftove-km-wordpress/" rel="bookmark" data-wpel-link="internal">Как да добавите Google шрифтове към WordPress</a></li><li class="arpw-li arpw-clearfix arpw-27"><a class="arpw-title" href="https://abgx360.net/uroci/kak-da-sberem-otzivi-na-potrebitelite-na-vashija/" rel="bookmark" data-wpel-link="internal">Как да съберем отзиви на потребителите на вашия сайт WordPress</a></li><li class="arpw-li arpw-clearfix arpw-28"><a class="arpw-title" href="https://abgx360.net/cat-sonstiges/beste-live-chat-plugins-ticketing-unterstutzung/" rel="bookmark" data-wpel-link="internal">Beste Live Chat Plugins & Ticketing Unterstützung für WordPress</a></li><li class="arpw-li arpw-clearfix arpw-29"><a class="arpw-title" href="https://abgx360.net/zpravy-a-komunita/20-a-vice-en-ve-wordpress-ktere-byste-mli-sledovat/" rel="bookmark" data-wpel-link="internal">20 a více žen ve WordPress, které byste měli sledovat</a></li><li class="arpw-li arpw-clearfix arpw-30"><a class="arpw-title" href="https://abgx360.net/page-5/wordpress-231/" rel="bookmark" data-wpel-link="internal">什么是WordPress主题和插件?</a></li><li class="arpw-li arpw-clearfix arpw-31"><a class="arpw-title" href="https://abgx360.net/cat-tipps/wordpress-theme-panel-options-frameworks/" rel="bookmark" data-wpel-link="internal">WordPress Theme Panel Options Frameworks</a></li><li class="arpw-li arpw-clearfix arpw-32"><a class="arpw-title" href="https://abgx360.net/vyukove-programy/jak-nainstalovat-wordpress-v-google-cloud/" rel="bookmark" data-wpel-link="internal">Jak nainstalovat WordPress v Google Cloud</a></li><li class="arpw-li arpw-clearfix arpw-33"><a class="arpw-title" href="https://abgx360.net/smieny/10-plugin-wordpress-ktere-by-mli-mit-vichni/" rel="bookmark" data-wpel-link="internal">10 pluginů WordPress, které by měli mít všichni</a></li><li class="arpw-li arpw-clearfix arpw-34"><a class="arpw-title" href="https://abgx360.net/sveti/2-stpki-km-privlichane-na-trafik-km-vashija/" rel="bookmark" data-wpel-link="internal">2 стъпки към привличане на трафик към вашия WordPress блог с Twitter</a></li><li class="arpw-li arpw-clearfix arpw-35"><a class="arpw-title" href="https://abgx360.net/sveti/kak-socialnata-trgovija-mozhe-da-se-vzpolzva-ot/" rel="bookmark" data-wpel-link="internal">Как социалната търговия може да се възползва от вашия сайт WordPress</a></li><li class="arpw-li arpw-clearfix arpw-36"><a class="arpw-title" href="https://abgx360.net/cat-ressenyes/envato-va-hostar-la-revisio-de-hosting-de/" rel="bookmark" data-wpel-link="internal">Envato va hostar la revisió de hosting de WordPress gestionada</a></li><li class="arpw-li arpw-clearfix arpw-37"><a class="arpw-title" href="https://abgx360.net/page-5/page-19/" rel="bookmark" data-wpel-link="internal">如何闯入饱和的博客市场</a></li><li class="arpw-li arpw-clearfix arpw-38"><a class="arpw-title" href="https://abgx360.net/aucune-categorie/webhostinghub-et-son-devouement-pour-aider-a/" rel="bookmark" data-wpel-link="internal">WebHostingHub et son dévouement pour aider à sauver la Terre Mère</a></li><li class="arpw-li arpw-clearfix arpw-39"><a class="arpw-title" href="https://abgx360.net/cat-recenze/tema-recenze-wordpress-tema/" rel="bookmark" data-wpel-link="internal">Téma Recenze WordPress Téma</a></li><li class="arpw-li arpw-clearfix arpw-40"><a class="arpw-title" href="https://abgx360.net/vyukove-programy/jak-sledovat-socialni-metriky-pro-stranky/" rel="bookmark" data-wpel-link="internal">Jak sledovat sociální metriky pro stránky WordPress</a></li><li class="arpw-li arpw-clearfix arpw-41"><a class="arpw-title" href="https://abgx360.net/razni/35-naj-dobri-temi-za-wordpress-za-portfolio-prez/" rel="bookmark" data-wpel-link="internal">35 най-добри теми за WordPress за портфолио през 2020 г.</a></li><li class="arpw-li arpw-clearfix arpw-42"><a class="arpw-title" href="https://abgx360.net/page-22/wordpresswordpress-2/" rel="bookmark" data-wpel-link="internal">WordPress仍然是免费WordPress主题的最佳来源吗?</a></li><li class="arpw-li arpw-clearfix arpw-43"><a class="arpw-title" href="https://abgx360.net/cat-blogi/mis-on-google-app-engine-ja-mida-saate-sellega/" rel="bookmark" data-wpel-link="internal">Mis on Google App Engine ja mida saate sellega teha</a></li><li class="arpw-li arpw-clearfix arpw-44"><a class="arpw-title" href="https://abgx360.net/sveti/kak-da-dobavite-instagram-snimki-km-wordpress/" rel="bookmark" data-wpel-link="internal">Как да добавите Instagram снимки към WordPress</a></li><li class="arpw-li arpw-clearfix arpw-45"><a class="arpw-title" href="https://abgx360.net/ei-luokkaa/emaze-review-hyodyntamalla-emaze-online/" rel="bookmark" data-wpel-link="internal">emaze Review – Hyödyntämällä emaze Online Presentation Technology -tekniikkaa</a></li><li class="arpw-li arpw-clearfix arpw-46"><a class="arpw-title" href="https://abgx360.net/kategooriat-pole/magento-opetus/" rel="bookmark" data-wpel-link="internal">Magento õpetus</a></li><li class="arpw-li arpw-clearfix arpw-47"><a class="arpw-title" href="https://abgx360.net/page/google-analytics-crash-course/" rel="bookmark" data-wpel-link="internal">Ένα Google Analytics Crash-Course για ψηφιακούς εμπόρους</a></li><li class="arpw-li arpw-clearfix arpw-48"><a class="arpw-title" href="https://abgx360.net/ingen-kategori/dybdegende-anmeldelse-af-butiksindehaveren/" rel="bookmark" data-wpel-link="internal">Dybdegående anmeldelse af butiksindehaveren – Responsivt WordPress-tema</a></li><li class="arpw-li arpw-clearfix arpw-49"><a class="arpw-title" href="https://abgx360.net/cat-consells/opcions-integrades-de-wordpress-que-heu-dutilitzar/" rel="bookmark" data-wpel-link="internal">Opcions integrades de WordPress que heu d’utilitzar</a></li><li class="arpw-li arpw-clearfix arpw-50"><a class="arpw-title" href="https://abgx360.net/ei-luokkaa/hostclear-arvostelu/" rel="bookmark" data-wpel-link="internal">HostClear-arvostelu</a></li><li class="arpw-li arpw-clearfix arpw-51"><a class="arpw-title" href="https://abgx360.net/smieny/12-nejlepich-temat-wordpress-pro-affiliate/" rel="bookmark" data-wpel-link="internal">12 nejlepších témat WordPress pro affiliate marketing pro rok 2020</a></li><li class="arpw-li arpw-clearfix arpw-52"><a class="arpw-title" href="https://abgx360.net/cat-recenze/mojo-themes-review/" rel="bookmark" data-wpel-link="internal">Mojo Themes Review</a></li><li class="arpw-li arpw-clearfix arpw-53"><a class="arpw-title" href="https://abgx360.net/cat-seo/co-je-as-na-prvni-byte-a-jak-jej-vylepit-na-svem/" rel="bookmark" data-wpel-link="internal">Co je čas na první byte a jak jej vylepšit na svém webu WordPress</a></li><li class="arpw-li arpw-clearfix arpw-54"><a class="arpw-title" href="https://abgx360.net/cat-recenze/recenze-setrvaniku-managed-hosting-pro-wordpress/" rel="bookmark" data-wpel-link="internal">Recenze setrvačníku: Managed Hosting pro WordPress</a></li><li class="arpw-li arpw-clearfix arpw-55"><a class="arpw-title" href="https://abgx360.net/page-25/page-27/" rel="bookmark" data-wpel-link="internal">优雅主题回顾</a></li><li class="arpw-li arpw-clearfix arpw-56"><a class="arpw-title" href="https://abgx360.net/cat-tutorials/javascript-richtig-zu-wordpress-themes-hinzufugen/" rel="bookmark" data-wpel-link="internal">Javascript richtig zu WordPress-Themes hinzufügen</a></li><li class="arpw-li arpw-clearfix arpw-57"><a class="arpw-title" href="https://abgx360.net/ei-luokkaa/justhost-arvostelu/" rel="bookmark" data-wpel-link="internal">Justhost arvostelu</a></li><li class="arpw-li arpw-clearfix arpw-58"><a class="arpw-title" href="https://abgx360.net/sveti/kak-da-optimizirate-woocommerce-i-da-podobrite/" rel="bookmark" data-wpel-link="internal">Как да оптимизирате WooCommerce и да подобрите ефективността на сайта</a></li><li class="arpw-li arpw-clearfix arpw-59"><a class="arpw-title" href="https://abgx360.net/cat-tipy/nejhori-chyby-na-volne-noze-navrhai-wordpress/" rel="bookmark" data-wpel-link="internal">Nejhorší chyby na volné noze Návrháři WordPress</a></li><li class="arpw-li arpw-clearfix arpw-60"><a class="arpw-title" href="https://abgx360.net/cat-tutorials/schritt-fur-schritt-anleitung-zum-starten-eines/" rel="bookmark" data-wpel-link="internal">Schritt-für-Schritt-Anleitung zum Starten eines WordPress-Blogs im Jahr 2020</a></li><li class="arpw-li arpw-clearfix arpw-61"><a class="arpw-title" href="https://abgx360.net/cat-bewertungen/die-entwicklung-von-optinmonster-fur-wordpress/" rel="bookmark" data-wpel-link="internal">Die Entwicklung von OptinMonster für WordPress: Korrekturen, Updates und Änderungen</a></li><li class="arpw-li arpw-clearfix arpw-62"><a class="arpw-title" href="https://abgx360.net/cat-divers/els-millors-temes-wordpress-i-gimnas/" rel="bookmark" data-wpel-link="internal">Els millors temes WordPress i gimnàs</a></li><li class="arpw-li arpw-clearfix arpw-63"><a class="arpw-title" href="https://abgx360.net/smieny/14-nejlepich-gutenbergovych-plugin-doplk-a-rozieni/" rel="bookmark" data-wpel-link="internal">14 nejlepších Gutenbergových pluginů, doplňků a rozšíření</a></li><li class="arpw-li arpw-clearfix arpw-64"><a class="arpw-title" href="https://abgx360.net/cat-tutories/com-fer-creixer-la-vostra-comunitat-en-linia-amb/" rel="bookmark" data-wpel-link="internal">Com fer créixer la vostra comunitat en línia amb WordPress</a></li><li class="arpw-li arpw-clearfix arpw-65"><a class="arpw-title" href="https://abgx360.net/cat-tutorials/installieren-sie-wordpress-in-aws-amazon-web/" rel="bookmark" data-wpel-link="internal">Installieren Sie WordPress in AWS – Amazon Web Services</a></li><li class="arpw-li arpw-clearfix arpw-66"><a class="arpw-title" href="https://abgx360.net/avis-sur-l-hebergement-web/ai-je-besoin-du-scanner-de-site-sg-de-siteground/" rel="bookmark" data-wpel-link="internal">Ai-je besoin du scanner de site SG de SiteGround (révision 2020): en vaut-il la peine? Combien ça coûte?</a></li><li class="arpw-li arpw-clearfix arpw-67"><a class="arpw-title" href="https://abgx360.net/cat-tipy/uvod-do-cloud-computingu-s-wordpressem/" rel="bookmark" data-wpel-link="internal">Úvod do cloud computingu s WordPressem</a></li><li class="arpw-li arpw-clearfix arpw-68"><a class="arpw-title" href="https://abgx360.net/cat-divers/24-millors-temes-de-wordpress-de-jardineria-i/" rel="bookmark" data-wpel-link="internal">24 millors temes de WordPress de jardineria i paisatgisme</a></li><li class="arpw-li arpw-clearfix arpw-69"><a class="arpw-title" href="https://abgx360.net/vyukove-programy/jak-snadno-upravovat-obrazky-v-wordpress/" rel="bookmark" data-wpel-link="internal">Jak snadno upravovat obrázky v WordPress</a></li><li class="arpw-li arpw-clearfix arpw-70"><a class="arpw-title" href="https://abgx360.net/sveti/kak-da-izpolzvate-bloga-si-za-wordpress-za-da/" rel="bookmark" data-wpel-link="internal">Как да използвате блога си за WordPress, за да озелените вашата мечтана работа</a></li><li class="arpw-li arpw-clearfix arpw-71"><a class="arpw-title" href="https://abgx360.net/razni/naj-dobrite-wordpress-temi-i-shabloni-prez-2020-g/" rel="bookmark" data-wpel-link="internal">Най-добрите WordPress теми и шаблони през 2020 г.</a></li><li class="arpw-li arpw-clearfix arpw-72"><a class="arpw-title" href="https://abgx360.net/ingen-kategori/lader-fatcow-dig-eje-dit-websted/" rel="bookmark" data-wpel-link="internal">Lader FatCow dig eje dit websted?</a></li><li class="arpw-li arpw-clearfix arpw-73"><a class="arpw-title" href="https://abgx360.net/page-32/wordpress-317/" rel="bookmark" data-wpel-link="internal">最好的WordPress插件来改善您的博客页面</a></li><li class="arpw-li arpw-clearfix arpw-74"><a class="arpw-title" href="https://abgx360.net/veebimajutus-arvustused/siteground-gogeek-vs-pilve-hostimiskava-ulevaade/" rel="bookmark" data-wpel-link="internal">SiteGround GoGeek vs Pilve hostimiskava ülevaade (2020)</a></li><li class="arpw-li arpw-clearfix arpw-75"><a class="arpw-title" href="https://abgx360.net/sveti/moderacija-na-komentarite-v-wordpress-rkovodstvo/" rel="bookmark" data-wpel-link="internal">Модерация на коментарите в WordPress: Ръководство за начинаещи</a></li><li class="arpw-li arpw-clearfix arpw-76"><a class="arpw-title" href="https://abgx360.net/sveti/kak-da-izberem-cvetova-shema-za-vashija-wordpress/" rel="bookmark" data-wpel-link="internal">Как да изберем цветова схема за вашия WordPress проект</a></li><li class="arpw-li arpw-clearfix arpw-77"><a class="arpw-title" href="https://abgx360.net/aucune-categorie/disposition-du-site-web/" rel="bookmark" data-wpel-link="internal">Disposition du site Web</a></li><li class="arpw-li arpw-clearfix arpw-78"><a class="arpw-title" href="https://abgx360.net/cat-seguretat/6-consells-per-ajudar-a-assegurar-el-vostre-lloc/" rel="bookmark" data-wpel-link="internal">6 consells per ajudar a assegurar el vostre lloc web de WooCommerce</a></li><li class="arpw-li arpw-clearfix arpw-79"><a class="arpw-title" href="https://abgx360.net/cat-tutories/com-moure-un-bloc-de-mitjana-a-wordpress/" rel="bookmark" data-wpel-link="internal">Com moure un bloc de mitjana a WordPress</a></li><li class="arpw-li arpw-clearfix arpw-80"><a class="arpw-title" href="https://abgx360.net/cat-tipy/tipy-k-lepi-organizaci-webu-wordpress/" rel="bookmark" data-wpel-link="internal">Tipy k lepší organizaci webu WordPress</a></li><li class="arpw-li arpw-clearfix arpw-81"><a class="arpw-title" href="https://abgx360.net/cat-bewertungen/wp-rss-aggregator-review-erstellen-sie/" rel="bookmark" data-wpel-link="internal">WP RSS Aggregator Review: Erstellen Sie benutzerdefinierte RSS-Feeds für das Autoblogging</a></li><li class="arpw-li arpw-clearfix arpw-82"><a class="arpw-title" href="https://abgx360.net/news-community/die-besten-wordpress-halloween-rabatte-gutscheine/" rel="bookmark" data-wpel-link="internal">Die besten WordPress Halloween Rabatte & Gutscheine 2019</a></li><li class="arpw-li arpw-clearfix arpw-83"><a class="arpw-title" href="https://abgx360.net/ei-luokkaa/kuinka-lisata-cdn-wordpress-verkkosivustoon/" rel="bookmark" data-wpel-link="internal">Kuinka lisätä CDN WordPress-verkkosivustoon</a></li><li class="arpw-li arpw-clearfix arpw-84"><a class="arpw-title" href="https://abgx360.net/vyukove-programy/9-nejlepich-kurz-wordpress-pro-zaateniky/" rel="bookmark" data-wpel-link="internal">9 nejlepších kurzů WordPress pro začátečníky</a></li><li class="arpw-li arpw-clearfix arpw-85"><a class="arpw-title" href="https://abgx360.net/aucune-categorie/bluehost-propose-t-il-des-services-de/" rel="bookmark" data-wpel-link="internal">BlueHost propose-t-il des services de référencement?</a></li><li class="arpw-li arpw-clearfix arpw-86"><a class="arpw-title" href="https://abgx360.net/cat-tipy/vizualni-editor-wordpress-tipy-a-triky-pro/" rel="bookmark" data-wpel-link="internal">Vizuální editor WordPress: Tipy a triky pro začátečníky</a></li><li class="arpw-li arpw-clearfix arpw-87"><a class="arpw-title" href="https://abgx360.net/page/mr-tailor-responsive-woocommerce-theme-review/" rel="bookmark" data-wpel-link="internal">Αμερόληπτος Mr. Tailor – Responsive WooCommerce Theme Review</a></li><li class="arpw-li arpw-clearfix arpw-88"><a class="arpw-title" href="https://abgx360.net/page-5/wordpress-170/" rel="bookmark" data-wpel-link="internal">如何及为什么向您的WordPress博客添加无限滚动</a></li><li class="arpw-li arpw-clearfix arpw-89"><a class="arpw-title" href="https://abgx360.net/cat-tipps/so-verwandeln-sie-ihre-wordpress-site-schritt-fur/" rel="bookmark" data-wpel-link="internal">So verwandeln Sie Ihre WordPress-Site Schritt für Schritt in eine App</a></li><li class="arpw-li arpw-clearfix arpw-90"><a class="arpw-title" href="https://abgx360.net/smieny/20-nejlepich-modul-wordpress-pro-tvorbu/" rel="bookmark" data-wpel-link="internal">20+ nejlepších modulů WordPress pro tvorbu přetahovaných stránek</a></li><li class="arpw-li arpw-clearfix arpw-91"><a class="arpw-title" href="https://abgx360.net/page-5/page-10/" rel="bookmark" data-wpel-link="internal">访客离开您的网站的十个可能原因</a></li><li class="arpw-li arpw-clearfix arpw-92"><a class="arpw-title" href="https://abgx360.net/cat-blogi/hostpapa-uk-hosting-katsaus/" rel="bookmark" data-wpel-link="internal">HostPapa UK Hosting -katsaus</a></li><li class="arpw-li arpw-clearfix arpw-93"><a class="arpw-title" href="https://abgx360.net/smieny/20-rozieni-a-doplky-pro-nejlepi-kontaktni-formula/" rel="bookmark" data-wpel-link="internal">20+ Rozšíření a doplňky pro nejlepší kontaktní formulář 7</a></li><li class="arpw-li arpw-clearfix arpw-94"><a class="arpw-title" href="https://abgx360.net/cat-sonstiges/30-beste-medizinische-wordpress-themes-fur-arzte/" rel="bookmark" data-wpel-link="internal">30+ beste medizinische WordPress-Themes für Ärzte</a></li><li class="arpw-li arpw-clearfix arpw-95"><a class="arpw-title" href="https://abgx360.net/cat-tutorials/installieren-sie-wordpress-lokal-unter-ubuntu-mit/" rel="bookmark" data-wpel-link="internal">Installieren Sie WordPress lokal unter Ubuntu mit LAMP</a></li><li class="arpw-li arpw-clearfix arpw-96"><a class="arpw-title" href="https://abgx360.net/cat-blogi/kuinka-perustaa-blogi/" rel="bookmark" data-wpel-link="internal">Kuinka perustaa blogi?</a></li><li class="arpw-li arpw-clearfix arpw-97"><a class="arpw-title" href="https://abgx360.net/aucune-categorie/tutoriel-prestashop/" rel="bookmark" data-wpel-link="internal">Tutoriel PrestaShop</a></li><li class="arpw-li arpw-clearfix arpw-98"><a class="arpw-title" href="https://abgx360.net/cat-tipy/sdileny-vs-cloud-hosting-ktere-byste-si-mli-vybrat/" rel="bookmark" data-wpel-link="internal">Sdílený vs Cloud Hosting – Které byste si měli vybrat?</a></li><li class="arpw-li arpw-clearfix arpw-99"><a class="arpw-title" href="https://abgx360.net/cat-tipps/uberwachung-von-betriebs-und-ausfallzeiten-in/" rel="bookmark" data-wpel-link="internal">Überwachung von Betriebs- und Ausfallzeiten in WordPress</a></li><li class="arpw-li arpw-clearfix arpw-100"><a class="arpw-title" href="https://abgx360.net/otzivi/pregled-na-elementor-2-0-promjana-na-liceto-na-ueb/" rel="bookmark" data-wpel-link="internal">Преглед на Elementor 2.0: Промяна на лицето на уеб дизайна</a></li></ul></div></div></aside></div><div class="footer-navigation container"><div class="main-navigation-inner "><div class="menu-1-container"><ul id="footer_menu" class="menu"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-54"><a href="https://abgx360.net/terms-of-service/" data-wpel-link="internal">Terms of service</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-55"><a href="https://abgx360.net/privacy-policy/" data-wpel-link="internal">Privacy Policy</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-49"><a href="https://abgx360.net/about/" data-wpel-link="internal">About</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-48"><a href="https://abgx360.net/contacts/" data-wpel-link="internal">Contacts</a></li></ul></div></div></div><footer class="site-footer container" itemscope itemtype="http://schema.org/WPFooter"><div class="site-footer-inner "><div class="footer-info"> © 2020</div><div class="footer-counters"></div></div></footer> <button type="button" class="scrolltop js-scrolltop"></button></div> <script type="text/javascript">var thirstyGoogleClickTrack = function ( e ) { var $this = jQuery( this ), linkID = $this.data( 'linkid' ), href = linkID ? $this.attr( 'href' ) : thirstyFunctions.isThirstyLink( $this.attr( 'href' ) ), action_name = 'Affiliate Link', page_slug = '/ingen-kategori/wordpress-temaudvikling-101/', home_url = 'https://abgx360.net'; if ( ! href || typeof ga !== 'function' ) { return; } var is_uncloak = href.indexOf( home_url + '/' + thirsty_global_vars.link_prefix ) < 0, href_parts = href.split('/'), href_last = href_parts[ href_parts.length - 1 ] ? href_parts[ href_parts.length - 1 ] : href_parts[ href_parts.length - 2 ], link_text = $this.text(), link_uri = linkID && is_uncloak ? href : href.replace( home_url , '' ), link_slug = linkID && is_uncloak ? href : href_last; ga( 'send' , 'event' , { eventCategory : action_name, eventAction : link_uri, eventLabel : page_slug, transport : 'beacon' } ); }; jQuery( document ).ready( function($) { $( 'body' ).on( 'click', 'a', thirstyGoogleClickTrack ); });</script> <script type='text/javascript'>/* <![CDATA[ */ var wares_ajax = {"wares_url":"https:\/\/abgx360.net\/wp-admin\/admin-ajax.php"}; /* ]]> */</script> <script type='text/javascript'>/* <![CDATA[ */ var tocplus = {"visibility_show":"show","visibility_hide":"hide","visibility_hide_by_default":"1","width":"Auto"}; /* ]]> */</script> <script type='text/javascript'>/* <![CDATA[ */ var thirsty_global_vars = {"home_url":"\/\/abgx360.net","ajax_url":"https:\/\/abgx360.net\/wp-admin\/admin-ajax.php","link_fixer_enabled":"yes","link_prefix":"recommends","link_prefixes":["recommends"],"post_id":"4736","enable_record_stats":"yes","enable_js_redirect":"yes","disable_thirstylink_class":""}; /* ]]> */</script> <script type='text/javascript'>/* <![CDATA[ */ var settings_array = {"rating_text_average":"average","rating_text_from":"from","lightbox_enabled":""}; var wps_ajax = {"url":"https:\/\/abgx360.net\/wp-admin\/admin-ajax.php","nonce":"64e380dbbc"}; /* ]]> */</script> <ins id="adsense" class="adsbygoogle" data-tag="flat_pm" style="position:absolute;left:-9999px;top:-9999px">Adblock<br>detector</ins><style>.arcticmodal-overlay,.arcticmodal-container{position:fixed;left:0;top:0;right:0;bottom:0;z-index:1000}.arcticmodal-container{overflow:auto;margin:0;padding:0;border:0;border-collapse:collapse}:first-child+html .arcticmodal-container{height:100%}.arcticmodal-container_i{height:100%;margin:0 auto}.arcticmodal-container_i2{vertical-align:middle!important;border:none!important}.flat_pm_modal{min-width:200px;min-height:100px;position:relative;background:#fff}.flat_pm_modal .flat_pm_timer,.flat_pm_modal .flat_pm_crs{top:0!important}.flat_pm_crs{transition:box-shadow .2s ease;position:absolute;top:0;right:0;width:34px;height:34px;background:#000;display:block;cursor:pointer;z-index:99999;border:none;padding:0;min-width:0;min-height:0}.flat_pm_crs:hover{box-shadow:0 0 0 50px rgba(0,0,0,.2) inset}.flat_pm_crs:after,.flat_pm_crs:before{transition:transform .3s ease;content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;width:calc(34px / 2);height:3px;background:#fff;transform-origin:center;transform:rotate(45deg);margin:auto}.flat_pm_crs:before{transform:rotate(-45deg)}.flat_pm_crs:hover:after{transform:rotate(225deg)}.flat_pm_crs:hover:before{transform:rotate(135deg)}.flat_pm_timer{position:absolute;top:0;right:0;padding:0 15px;color:#fff;background:#000;line-height:34px;height:34px;text-align:center;font-size:14px}.flat_pm_timer span{font-size:16px;font-weight:600}.flat_pm_out{transition:transform .3s ease,opacity 0s ease;transition-delay:0s,.3s;position:fixed;min-width:250px;min-height:150px;z-index:9999;opacity:0;-webkit-backface-visibility:hidden}.flat_pm_out *{max-width:none!important}.flat_pm_out.top .flat_pm_crs{top:auto;bottom:150px}.flat_pm_out.show.top .flat_pm_crs{bottom:0}.flat_pm_out.bottom .flat_pm_crs{top:150px}.flat_pm_out.show.bottom .flat_pm_crs{top:0}.flat_pm_out.right .flat_pm_crs{right:auto;left:0}.flat_pm_out.top .flat_pm_timer{top:auto;bottom:150px}.flat_pm_out.show.top .flat_pm_timer{bottom:0}.flat_pm_out.bottom .flat_pm_timer{top:150px}.flat_pm_out.show.bottom .flat_pm_timer{top:0}.flat_pm_out.right .flat_pm_timer{right:auto;left:0}.flat_pm_out.top{bottom:100%;left:50%;transform:translateY(0) translateX(-50%);padding-bottom:150px}.flat_pm_out.bottom{top:100%;left:50%;transform:translateY(0) translateX(-50%);padding-top:150px}.flat_pm_out.left{bottom:0;right:100%;transform:translateX(0)}.flat_pm_out.right{bottom:0;left:100%;transform:translateX(0)}.flat_pm_out.show{transition-delay:0s,0s;opacity:1;min-width:0;min-height:0;background:#fff}.flat_pm_out.closed{min-width:0;min-height:0}.flat_pm_out.show.top{transform:translateY(100%) translateX(-50%);padding-bottom:0}.flat_pm_out.show.bottom{transform:translateY(-100%) translateX(-50%);padding-top:0}.flat_pm_out.show.left{transform:translateX(100%)}.flat_pm_out.show.right{transform:translateX(-100%)}.flatpm_fixed{position:fixed;z-index:50}.flatpm_stop{position:relative;z-index:50}</style> <script>window.lazyLoadOptions={elements_selector:"img[data-lazy-src],.rocket-lazyload,iframe[data-lazy-src]",data_src:"lazy-src",data_srcset:"lazy-srcset",data_sizes:"lazy-sizes",class_loading:"lazyloading",class_loaded:"lazyloaded",threshold:300,callback_loaded:function(element){if(element.tagName==="IFRAME"&&element.dataset.rocketLazyload=="fitvidscompatible"){if(element.classList.contains("lazyloaded")){if(typeof window.jQuery!="undefined"){if(jQuery.fn.fitVids){jQuery(element).parent().fitVids()}}}}}};window.addEventListener('LazyLoad::Initialized',function(e){var lazyLoadInstance=e.detail.instance;if(window.MutationObserver){var observer=new MutationObserver(function(mutations){var image_count=0;var iframe_count=0;var rocketlazy_count=0;mutations.forEach(function(mutation){for(i=0;i<mutation.addedNodes.length;i++){if(typeof mutation.addedNodes[i].getElementsByTagName!=='function'){return} if(typeof mutation.addedNodes[i].getElementsByClassName!=='function'){return} images=mutation.addedNodes[i].getElementsByTagName('img');is_image=mutation.addedNodes[i].tagName=="IMG";iframes=mutation.addedNodes[i].getElementsByTagName('iframe');is_iframe=mutation.addedNodes[i].tagName=="IFRAME";rocket_lazy=mutation.addedNodes[i].getElementsByClassName('rocket-lazyload');image_count+=images.length;iframe_count+=iframes.length;rocketlazy_count+=rocket_lazy.length;if(is_image){image_count+=1} if(is_iframe){iframe_count+=1}}});if(image_count>0||iframe_count>0||rocketlazy_count>0){lazyLoadInstance.update()}});var b=document.getElementsByTagName("body")[0];var config={childList:!0,subtree:!0};observer.observe(b,config)}},!1)</script><script data-no-minify="1" async src="https://abgx360.net/wp-content/plugins/wp-rocket/assets/js/lazyload/12.0/lazyload.min.js"></script><a href="/sitemap.php" data-wpel-link="internal">map</a><script src="https://abgx360.net/wp-content/cache/min/1/ecee769ffd9099d55bcd0ee3fcd2b344.js" data-minify="1" defer></script></body></html> <!-- This website is like a Rocket, isn't it? Performance optimized by WP Rocket. Learn more: https://wp-rocket.me - Debug: cached@1591889893 -->