Wie man ein professionelles WordPress-Theme von Grund auf erstellt: Eine vollständige Entwicklungsanleitung

4-Minuten-Lesung
2026-03-13
2026-06-04
2,942
Ich bekomme eine Provision, wenn du über die untenstehenden Links einkaufst – ohne zusätzliche Kosten für dich.

Entwicklungsumgebung und Konfiguration der Basisdokumente

Bevor Sie mit dem Schreiben von Code beginnen, ist es wichtig, eine professionelle lokale Entwicklungsumgebung einzurichten. Es wird empfohlen, Tools wie Local by Flywheel, XAMPP oder MAMP zu verwenden, um schnell eine Serverumgebung mit PHP, MySQL und Apache/Nginx einzurichten. Installieren und aktivieren Sie die neueste Version von WordPress. Als nächstes gehen Sie in das Verzeichnis Ihrer WordPress-Installation. wp-content/themes Erstellt in dem Ordner einen neuen Ordner als Euer Themenverzeichnis, zum Beispiel my-professional-theme

\nKern-Stilvorlagen und Themeninformationen

Die Einstiegsdatei jedes WordPress-Themas ist style.cssDiese Datei enthält nicht nur CSS-Stile, sondern die Kommentarüberschriften am Anfang (Theme Headers) sind der “Personalausweis”, mit dem WordPress das Theme erkennt. Die Datei muss mit diesem speziellen Format beginnen:

/*
Theme Name: My Professional Theme
Theme URI: https://example.com/my-professional-theme/
Author: Your Name
Author URI: https://example.com/
Description: 这是一个精心构建的专业WordPress主题,适用于企业网站和博客。
Version: 1.0.0
License: GPL v2 or later
Text Domain: my-professional-theme
*/

Text Domain Für die Internationalisierung (i18n) muss es mit dem Namen des Themenordners übereinstimmen. Der Rest functions.phpAlle Vorlagen, Dokumente usw. werden zum Laden der Übersetzung auf dieses Textfeld angewiesen sein.

Empfohlene Lektüre Kompleter Leitfaden für die Entwicklung von WordPress-Themen: Von der Grundlage bis zum Bau professioneller Themes

Die Initialisierung der Themenfunktionsfunktion

functions.php Es ist das “Gehirn” des Themas und wird zum Hinzufügen von Funktionen, zum Registrieren von Menüs und Seitenleisten usw. verwendet. Der erste Schritt besteht normalerweise darin, die vom Thema unterstützten Funktionen einzurichten. Eine grundlegende Initialisierungsfunktion sieht wie folgt aus:

UltaHost – WordPress-Hosting-Anbieter
30-tägige Geld-zurück-Garantie, unbegrenztes Bandbreiten- und Datenbankvolumen, kostenlose DDoS-Schutzmaßnahmen sowie ein Rabatt von 501 auf 4 Terabyte bei einer Kaufdauer von 3 Jahren.
<?php
// my-professional-theme/functions.php
add_action( 'after_setup_theme', 'my_theme_setup' );
function my_theme_setup() {
    // 让主题支持自动 Feed 链接
    add_theme_support( 'automatic-feed-links' );
    // 让文章和页面支持特色图像(Featured Image)
    add_theme_support( 'post-thumbnails' );
    // 让主题支持 HTML5 标记
    add_theme_support( 'html5', array( 'comment-list', 'comment-form', 'search-form', 'gallery', 'caption', 'style', 'script' ) );
    // 支持自定义 LOGO
    add_theme_support( 'custom-logo', array(
        'height'      => 100,
        'width'       => 400,
        'flex-height' => true,
        'flex-width'  => true,
    ) );
    // 加载主题的文本域,用于翻译
    load_theme_textdomain( 'my-professional-theme', get_template_directory() . '/languages' );
}
?>

\nSichere Einführung von Skripten und Stylesheets

Sie sollten niemals CSS- und JavaScript-Dateien direkt hartcodieren. Sie müssen die von WordPress bereitgestellten Funktionen verwenden. wp_enqueue_scripts Die Hooks sorgen dafür, dass Assets korrekt und sicher in die Warteschlange eingereiht (enqueued) werden. Dies gewährleistet ein effizientes Abhängigkeitsmanagement und verhindert Konflikte.

<?php
add_action( 'wp_enqueue_scripts', 'my_theme_scripts' );
function my_theme_scripts() {
    // 引入主样式表 style.css
    wp_enqueue_style( 'my-theme-style', get_stylesheet_uri(), array(), '1.0.0' );
    // 引入自定义 CSS 文件
    wp_enqueue_style( 'my-theme-custom', get_template_directory_uri() . '/assets/css/custom.css', array('my-theme-style'), '1.0.0' );
    // 引入导航菜单响应式脚本(依赖于 jQuery)
    wp_enqueue_script( 'my-theme-navigation', get_template_directory_uri() . '/assets/js/navigation.js', array('jquery'), '1.0.0', true );
    // 为脚本添加国际化支持(如果前端需要翻译字符串)
    wp_localize_script( 'my-theme-navigation', 'myThemeConfig', array(
        'ajaxurl' => admin_url( 'admin-ajax.php' ),
    ));
}
?>

Die Erstellung der Kern-Template-Dateien

WordPress verwendet die Template-Hierarchie, um zu bestimmen, welche Vorlagendatei für eine bestimmte Art von Seite geladen wird. Die Erstellung der folgenden Basisdateien ist der erste Schritt beim Aufbau der Themenstruktur.

Die globale Kopf- und Fußzeile der Website

header.php Die Datei enthält den gemeinsamen Code, der am oberen Rand jeder Seite erscheint: DOCTYPE-Deklaration, Region (durch) wp_head() Das ist die Struktur des Outputs und des Anfangs. Es sollte mit < beginnen. Beginnen Sie damit und beenden Sie damit, die Hauptverpackungsbehälter zu öffnen.
footer.php Die Datei enthält gemeinsamen Code am unteren Rand der Seite, wie z. B. Copyright-Informationen, und ruft am Ende auf. wp_footer() Haken. Diese beiden Dateien werden über get_header() und get_footer() Die Funktion wird in anderen Vorlagen aufgerufen.

Artikelverzeichnis und Inhaltsdetails-Seite

index.php Dies ist der letzte Fallback-Template, aber normalerweise verwenden wir es als Listen-Seite für Blog-Artikel. Es sollte eine Hauptschleife (The Loop) enthalten, um mehrere Artikel aufzulisten.
single.php Es wird verwendet, um einen einzelnen Blog-Artikel anzuzeigen. Es ist für die vollständige Gestaltung des Artikels verantwortlich, einschließlich Titel, Inhalt, Metadaten (Autor, Datum, Kategorie) und Kommentarvorlagen.
page.php Es wird verwendet, um statische Seiten anzuzeigen. Es enthält normalerweise keine Metainformationen wie Veröffentlichungszeitpunkt oder Kategorien und seine Struktur unterscheidet sich von der von dynamischen Seiten. single.php Ähnlich, aber prägnanter.

Empfohlene Lektüre Die ultimative Anleitung zur WordPress-Theme-Entwicklung: Vom Anfänger zum Experten beim Erstellen einer benutzerdefinierten Website

Die Standardweise, auf die der Inhalt eines Artikels wiederholt wird.

Schleifen sind das Herzstück der Ausgabe von Inhalten in WordPress. Im Folgenden wird erläutert, wie man sie verwendet. index.php Ein Standardbeispiel für eine mittlere Schleife:

<?php
if ( have_posts() ) :
    while ( have_posts() ) : the_post(); ?>
        <article id="post-<?php the_ID(); ?>" no numeric noise key 1008>
            <header class="entry-header">
                <h2 class="entry-title"><a href="/de/</?php the_permalink(); ?>"></a></h2>
                <div class="entry-meta">
                    
                </div>
            </header>
            <div class="entry-content">
                <?php the_excerpt(); // 或使用 the_content() 显示全文 ?>
            </div>
        </article>
    <?php endwhile;
    the_posts_navigation(); // 输出上一页/下一页链接
else :
    get_template_part( 'template-parts/content', 'none' ); // 加载一个“无内容”的模板部分
endif;
?>

Erweiterte Funktionen und Themenanpassung

Ein professionelles Thema zeigt nicht nur Inhalte an, sondern bietet auch flexible Anpassungsoptionen für Benutzer und Administratoren.

Registrierung des Navigationsmenüs und der Seitenleiste

Das Navigationsmenü wird über register_nav_menus() Registrierung von Funktionen. Normalerweise hat ein Thema ein Hauptmenü und ein Fußzeilenmenü.

hosting.com Shared Hosting
Hohe Leistung mit AMD EPYC-CPUs, NVMe-SSD-Speicher und LiteSpeed, fachkundiger Inhouse-Support rund um die Uhr, erweiterte Sicherheitsmaßnahmen einschließlich SSL, Brute-Force-, Malware- und DDoS-Schutz, Einsparungen von bis zu 73%
<?php
add_action( 'after_setup_theme', 'my_theme_register_menus' );
function my_theme_register_menus() {
    register_nav_menus( array(
        'primary' => __( 'Primary Menu', 'my-professional-theme' ),
        'footer'  => __( 'Footer Menu', 'my-professional-theme' ),
    ) );
}
?>

„In“ header.php In China wird es verwendet. wp_nav_menu() Um das Hauptmenü anzuzeigen.
Die Seitenleiste (Widget-Bereich) wird über register_sidebar() Registrierung von Funktionen. Es können mehrere Seitenleisten für verschiedene Positionen registriert werden.

__( 'Main Sidebar', 'my-professional-theme' ),
        'id'            =&gt; 'sidebar-1',
        'description'   =&gt; __( 'Add widgets here.', 'my-professional-theme' ),
        'before_widget' =&gt; '<section id="%1$s" class="widget %2$s">',
        'after_widget'  =&gt; '</section>',
        'before_title'  =&gt; '<h2 class="widget-title">',
        'after_title'   =&gt; '</h2>',
    ) );
}
?&gt;

Integration der Customizer-API

Das WordPress-Customizer-API ermöglicht es Benutzern, die Themeneinstellungen in einer Echtzeitvorschau anzupassen. Wir können Optionen für das Logo, den Fußzeilentext usw. hinzufügen.
Sie können dies auf folgende Weise erreichen: customize_register Die Hooks ermöglichen das Hinzufügen von benutzerdefinierten Einstellungen und Steuerelementen. Dadurch können Sie dem WordPress-Theme-Customizer neue Einstellungen, Steuerelemente und Abschnitte hinzufügen.

Erstellen Sie eine benutzerdefinierte Seitevorlage.

Seitenvorlagen ermöglichen es Ihnen, bestimmten Seiten ein einzigartiges Layout zu verleihen. Erstellen Sie eine Datei, zum Beispiel templates/full-width.phpUnd fügen Sie am Anfang der Datei die folgende Anmerkung hinzu:

Empfohlene Lektüre Einführung in die Entwicklung von WordPress-Themen: Wie Sie von Grund auf ein benutzerdefiniertes Thema erstellen

<?php
/**
 * Template Name: 全宽页面
 * Description: 一个没有侧边栏的全宽页面模板。
 */

Dann können Sie dieses “ganzseitige Seiten”-Template im WordPress-Backoffice-Bearbeitungs-bereich aus den “Seiteneigenschaften” auswählen. Innerhalb der Template-Datei folgen Sie dem Schema page.php Sie können den Code in der gleichen Struktur wie oben schreiben, aber Sie können den Code zum Abrufen der Seitenleiste einfach weglassen.

Leistungsoptimierung und Vorbereitung auf die Veröffentlichung

Nachdem die Themenentwicklung abgeschlossen ist, muss sie optimiert werden, um sicherzustellen, dass sie schnell, sicher und standardkonform ist.

InterServer Shared Hosting
Shared Hosting $2.50 USD pro Monat, erster Monat $0.1 USD Promo-Code tryinterserver, 461 Cloud-Apps Skripte, ein Klick installieren.

Codeoptimierung und Sicherheitsprüfung

Verwenden Sie für alle Benutzereingaben und dynamischen Ausgaben die Escape- und Sanitierungsfunktionen von WordPress, wie z. B. esc_html(), esc_url(), sanitize_text_field()Stellen Sie sicher, dass alle übersetzbaren Zeichenfolgen verwendet werden. __() oder _e() Wickeln Sie die Funktion ein und stellen Sie die Textfelder korrekt ein. Entfernen Sie sämtlichen Debug-Code, wie z. B. var_dump() oder print_r()

Die Performance-Optimierung von Frontend-Ressourcen

Minimieren und zusammenführen Sie die CSS- und JavaScript-Dateien (und behalten Sie die Quelldateien in der Entwicklungsumgebung). Verwenden Sie dazu add_image_size() Die Funktion definiert eine angemessene Bildgröße, um zu verhindern, dass zu große Originalbilder auf der Frontend-Seite geladen werden. Stellen Sie sicher, dass das Thema responsiv ist und auf allen Geräten gut angezeigt wird. Erwägen Sie, Skripte bedingt zu laden, z. B. das Kommentar-Antwort-Skript nur auf Seiten, auf denen Kommentare benötigt werden:

<?php
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
    wp_enqueue_script( 'comment-reply' );
}
?>

Die endgültige Checkliste für das Thema

Bevor Sie es veröffentlichen, scannen Sie Ihr Theme mit dem Theme Check-Plugin, um sicherzustellen, dass es die neuesten Anforderungen des WordPress-Theme-Katalogs erfüllt. Testen Sie es unter verschiedenen PHP-Versionen (z. B. 7.4, 8.0, 8.1+) und WordPress-Versionen. Testen Sie das responsive Layout in verschiedenen Browsern (Chrome, Firefox, Safari, Edge) und auf echten mobilen Geräten. Bereiten Sie eine detaillierte Dokumentation vor. readme.txt Dokumente, die die Funktionen des Themas, die Installationsschritte und das Update-Protokoll erläutern.

Zusammenfassungen

Die Erstellung eines professionellen WordPress-Themas von Grund auf ist ein systematisches Projekt, das von Entwicklern nicht nur Kenntnisse in PHP, HTML, CSS und JavaScript erfordert, sondern auch ein tiefes Verständnis der Kernkonzepte von WordPress, wie z. B. Template-Hierarchie, Schleifen, Hooks und APIs. Der gesamte Prozess beginnt mit der Einrichtung der Umgebung und der Konfiguration der Basisdateien, gefolgt von der schrittweisen Erstellung von Kernvorlagen und erweiterten Funktionen, bevor er mit der Optimierung der Leistung und strengen Tests abgeschlossen wird. Die Einhaltung der WordPress-Programmierstandards und Best Practices (wie z. B. korrekte Skriptwarteschlangen, Übersetzungsunterstützung und Sicherheitsvorkehrungen) ist der Schlüssel, um sicherzustellen, dass das Thema von hoher Qualität, wartbar und beliebt ist. Durch die Schritte in diesem Leitfaden werden Sie in der Lage sein, ein professionelles Thema zu erstellen, das sowohl schön als auch funktional ist und den modernen Webstandards entspricht.

FAQ Häufig gestellte Fragen

Muss man für die Entwicklung von WordPress-Themes unbedingt Sub-Themes verwenden?

Nicht unbedingt. Wenn Sie ein völlig neues Thema von Grund auf neu erstellen, erstellen Sie ein übergeordnetes Thema. Untergeordnete Themen (Child Themes) werden hauptsächlich zum Anpassen und Ändern eines vorhandenen übergeordneten Themas verwendet, ohne die Kern-Dateien des übergeordneten Themas zu ändern. Der Vorteil dabei ist, dass Ihre Anpassungen nicht verloren gehen, wenn das übergeordnete Thema aktualisiert wird. Für neue Entwicklungsprojekte können Sie direkt ein übergeordnetes Thema erstellen.

Was ist die besondere Funktion der Datei functions.php?

functions.php Die Datei ist die zentrale Funktionsdatei eines WordPress-Themes. Sie ist wie ein Plugin, das beim Aktivieren des Themes automatisch geladen wird. Hier können Sie vom Theme unterstützte Funktionen hinzufügen, Menüs und Seitenleisten registrieren, Skripte und Stylesheets in Warteschlangen einbinden, benutzerdefinierte Funktionen definieren und verschiedene Aktionen und Filter von WordPress anhängen. Sie ist der Hauptort für die Erweiterung und Anpassung des Verhaltens eines Themes.

Wie kann ich meine Website so gestalten, dass sie mehrere Sprachen unterstützt (internationalisiert wird)?

Um ein Thema mehrsprachig zu unterstützen, gibt es im Wesentlichen drei Schritte. Zunächst sollten Sie in allen benutzerorientierten Strings Ihres Themas die Übersetzungsfunktionen von WordPress verwenden, wie z. B. __('Text', 'your-text-domain') oder _e('Text', 'your-text-domain')Zweitens, in… style.css und functions.php Geben Sie den Textbereich (Text Domain) korrekt an und verwenden Sie ihn. load_theme_textdomain() Die Funktion lädt die Übersetzungsdateien. Abschließend werden diese mit einem Tool wie Poedit erstellt. .pot Vorlagen-Dateien, anhand derer Übersetzer Texte in verschiedene Sprachen erstellen können. .po und .mo Die Datei wird gespeichert und im Thema abgelegt. /languages/ Im Verzeichnis.

Warum muss wp_enqueue_script verwendet werden, um JavaScript-Dateien hinzuzufügen?

ausnutzen wp_enqueue_script()(Und die entsprechenden) wp_enqueue_style()Dies ist die von WordPress offiziell empfohlene und einzige korrekte Methode zur Einbindung von Frontend-Ressourcen. Diese Methode behandelt die Abhängigkeiten von Skripten und Stylesheets ordnungsgemäß und stellt sicher, dass sie in der richtigen Reihenfolge geladen werden. Sie vermeidet Konflikte, die durch die wiederholte Einbindung derselben Bibliotheken (wie jQuery) verursacht werden, und ist mit den Caching- und Optimierungsmechanismen von WordPress (wie Skriptverbindung und -komprimierung) kompatibel. Verwenden Sie direkt < oder Es ist ein Fehler, Tags fest in eine Vorlage zu kodieren, da dies zu Problemen führen kann.

Was ist erforderlich, bevor ein Thema in das offizielle WordPress-Verzeichnis aufgenommen wird?

Die Einreichung in das offizielle Theme-Verzeichnis von WordPress.org erfordert die Erfüllung einer Reihe von strengen Anforderungen. Ihr Theme muss der GNU GPL-Lizenz entsprechen. Es muss die Tests des Theme Check-Plugins ohne Fehler (ERRORS) bestehen, und Warnungen (WARNINGS) sollten so gering wie möglich sein. Der Code muss den WordPress-Codierungsstandards entsprechen. Das Theme muss responsiv sein und auch ohne Widgets, Menüs oder Feature-Bilder ordnungsgemäß angezeigt werden (eleganter Downgrade). Darüber hinaus müssen Sie hochwertige, rechtefreie Screenshots bereitstellen und eine klare Beschreibung verfassen. readme.txt Und die Beschreibung des Themas. Nach den Standards von 2026 werden die Anforderungen an die Barrierefreiheit und Leistung wahrscheinlich auch strenger sein.