Bygg ditt eget WordPress-tema från grunden

Bygg ditt eget WordPress-tema från grunden


Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/mankitse/designoak.com/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/mankitse/designoak.com/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/mankitse/designoak.com/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/mankitse/designoak.com/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/mankitse/designoak.com/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/mankitse/designoak.com/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/mankitse/designoak.com/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/mankitse/designoak.com/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/mankitse/designoak.com/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/mankitse/designoak.com/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Att skapa ett eget WordPress-tema kan vara en givande uppgift som ger dig fullständig kontroll över design och funktionalitet. I denna guide går vi igenom de viktigaste stegen för att bygga ett eget tema från grunden.

1. Grundläggande förberedelser

Innan vi börjar kodningen behöver vi en lokal utvecklingsmiljö. Du kan använda:

  • Local by Flywheel eller XAMPP för att köra WordPress lokalt.
  • En texteditor som VS Code eller Sublime Text.
  • Ett versionhanteringsverktyg som Git för att spåra ändringar.

Ladda ner och installera WordPress lokalt och skapa en ny mapp i wp-content/themes/ där ditt tema ska lagras.

2. Struktur för ditt tema

Ett grundläggande WordPress-tema behöver minst två filer:

  • index.php – Huvudfilen för ditt tema.
  • style.css – Huvudstilmallen.

En typisk struktur kan se ut så här:

/mitt-tema/
|-- style.css
|-- index.php
|-- functions.php
|-- header.php
|-- footer.php
|-- sidebar.php
|-- page.php
|-- single.php
|-- archive.php
|-- 404.php

3. Skapa style.css

Denna fil innehåller information om temat och dess stilregler. Öppna style.css och lägg till följande kod:

/*
Theme Name: Mitt Eget Tema
Theme URI: http://dinsida.se/
Author: Ditt Namn
Description: Ett egengjort WordPress-tema
Version: 1.0
*/

4. Skapa index.php

Detta är huvudfilen som WordPress använder för att visa din webbplats. Ett enkelt exempel:

<!DOCTYPE html>
<html>
<head>
    <meta charset="<?php bloginfo('charset'); ?>">
    <title><?php bloginfo('name'); ?></title>
    <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>">
</head>
<body>
    <h1><?php bloginfo('name'); ?></h1>
    <p><?php bloginfo('description'); ?></p>
 
    <?php
    if ( have_posts() ) :
        while ( have_posts() ) : the_post();
            echo '<h2>' . get_the_title() . '</h2>';
            the_content();
        endwhile;
    else:
        echo '<p>Inga inlägg hittades</p>';
    endif;
    ?>
</body>
</html>

5. Dela upp temat i moduler

För att göra koden mer strukturerad, delar vi upp layouten i separata filer:

  • header.php (sidhuvud)
  • footer.php (sidfot)
  • sidebar.php (sidofält)

Exempel på header.php:

<!DOCTYPE html>
<html>
<head>
    <meta charset="<?php bloginfo('charset'); ?>">
    <title><?php wp_title(); ?></title>
    <?php wp_head(); ?>
</head>
<body>
    <header>
        <h1><?php bloginfo('name'); ?></h1>
        <nav>
            <?php wp_nav_menu(array('theme_location' => 'main-menu')); ?>
        </nav>
    </header>

Exempel på footer.php:

    <footer>
        <p>&copy; <?php echo date('Y'); ?> <?php bloginfo('name'); ?></p>
        <?php wp_footer(); ?>
    </footer>
</body>
</html>

Och i index.php använder vi dem så här:

<?php get_header(); ?>
 
<div class="content">
    <?php
    if ( have_posts() ) :
        while ( have_posts() ) : the_post();
            echo '<h2>' . get_the_title() . '</h2>';
            the_content();
        endwhile;
    endif;
    ?>
</div>
 
<?php get_footer(); ?>

6. Lägg till funktioner i functions.php

Denna fil används för att registrera funktioner som menyer, widgetar och anpassade inställningar. Öppna functions.php och lägg till:

<?php
function mitt_tema_resources() {
    wp_enqueue_style('style', get_stylesheet_uri());
}
add_action('wp_enqueue_scripts', 'mitt_tema_resources');
 
function register_mitt_tema_menus() {
    register_nav_menus(array(
        'main-menu' => __('Huvudmeny')
    ));
}
add_action('init', 'register_mitt_tema_menus');
?>

7. Skapa templates för inlägg och sidor

WordPress använder olika mallfiler för inlägg och sidor:

  • single.php – För enskilda inlägg.
  • page.php – För sidor.
  • archive.php – För arkiv som kategorier och taggar.

Exempel på single.php:

<?php get_header(); ?>
<div class="post">
    <h2><?php the_title(); ?></h2>
    <p><?php the_date(); ?> av <?php the_author(); ?></p>
    <?php the_content(); ?>
</div>
<?php get_footer(); ?>

8. Implementera anpassningsbara widgets

Lägg till sidebar-stöd genom att uppdatera functions.php:

function mitt_tema_widgets_init() {
    register_sidebar(array(
        'name' =&gt; 'Sidofält',
        'id' =&gt; 'sidebar-1',
        'before_widget' =&gt; '&lt;div class="widget"&gt;',
        'after_widget' =&gt; '&lt;/div&gt;',
        'before_title' =&gt; '&lt;h3&gt;',
        'after_title' =&gt; '&lt;/h3&gt;',
    ));
}
add_action('widgets_init', 'mitt_tema_widgets_init');

Och i sidebar.php:

<aside>
    <?php if (is_active_sidebar('sidebar-1')) : ?>
        <?php dynamic_sidebar('sidebar-1'); ?>
    <?php endif; ?>
</aside>

9. Sluttestning och finjustering

Ladda upp temat till en WordPress-installation och testa det noggrant. Justera designen med CSS och testa mobilresponsen.

10. Sammanfattning

Du har nu byggt ett grundläggande WordPress-tema från grunden! Med dessa verktyg kan du utveckla ditt tema vidare och skapa unika webbplatser.

Comments are closed.


@fontface Apache Bygg ditt eget tema Cache cms Databas FTP Färg Färgpalett GitHub Go Grafisk formgivning Grafisk identitet Grafisk profil Grunge ikoner Inspiration JavaScript kod Kreativitet Logotyp Länkbyggnad mall Media Queries Minimalism Multisite Nyckelord php python Responsivt ruby SEO symmetri Säkerhet Sökord Tips & tricks Trender Typografi Typsnitt Visitkort Webbdesign Webbhotell webbshop Webbutveckling WordPress