2010-12-16 15 views
1

Ich habe ein Wordpress Kind-Theme semi-erfolgreich erstellt. Mit dem erfolgreichen Abschluss meine ich:Wordpress Child-Theme CSS Reflektieren nicht auf Website

  1. ich es geschafft, ein Kind-Theme-Verzeichnis in meine Themen Ordner, neben meinem Hauptthema
  2. ich eine style.css-Datei erstellen erstellt im Kind-Thema dir
  3. Ich sah den Style auf meinem Wordpress-Backend und konnte ihn aktivieren.
  4. Ich habe Templates (header.php, sidebar.php, ...) in das Verzeichnis
  5. hinzugefügt. Ich habe Änderungen an den obigen Templates vorgenommen und sah die Änderungen auf meiner Website

Allerdings gibt es ein großes Problem:

  1. Was CSS Ich versuche, die style.css-Datei hinzuzufügen, es ist nicht die Seite zu beeinflussen

ich die „Header-Informationen“ wissen muss in Ordnung, da ich das Kind-Thema sehen/aktivieren konnte. Aber ich kann wirklich nicht herausfinden, was falsch ist. Ich habe versucht, die @ import-Regel zu entfernen, die nach dem Wordpress-Codex alle Stile von meiner Website entfernen sollte - nichts passierte.

Ich benutze das Panorama Thema und habe als Kind "Panorama-Technik" erstellt. Im Folgenden finden Sie den Code sehen kann ich innerhalb des Kind-Thema in der Datei style.css haben: „Panorama-Technologie“:

/* 
Theme Name: panorama-technology 
Template: panorama 
*/ 

@import url("../panorama/style.css"); 

#search{ 
margin: 15px 15px 0 0; 
} 
+1

WP Kodex sagt: ** Template. (erforderlicher) Verzeichnisname des übergeordneten Themas, Groß-/Kleinschreibung beachten. Achtung: Wenn Sie diese Zeile ändern, müssen Sie zu einem anderen Thema und zurück zum untergeordneten Thema wechseln. ** Vielleicht ist das dein Problem? –

+0

http://tech-paperss.org/how-to-create-wordpress-child-theme/ –

+0

@ IvanIvanić: dumm, das löst alles. Und dumm, die Notiz, die Sie erwähnen, ist jetzt leider aus der offiziellen Dokumentation entfernt. Sie sollten als Antwort hinzugefügt und als richtig markiert werden, um Kopfkratzen zu vermeiden :) –

Antwort

1

Zuerst würde ich einen absoluten Pfad versuchen sicher zu sein, dass der Pfad nicht ist das Problem. Wenn das das Problem nicht löst. Platziere den @ import ganz oben in der css-Datei oder direkt nach dem letzten "* /". Ich denke, weißer Raum ist wahrscheinlich der Schuldige hier.

+0

Das Problem ist, dass es nicht nur der @import ist, es ist jede Linie von CSS, die sich weigert zu arbeiten. Ich habe vorher den absoluten Weg versucht, der hat es auch nicht gelöst. – WouterB

+0

Können Sie einen Link oder die CSS-Regeln für #search von einem der anderen Stylesheets, die auf der Seite enthalten sind, die Sie testen, angeben? Ihre Regeln werden möglicherweise durch Regeln in den anderen Stylesheets überschrieben. – JCam

+0

http://demo.themocracy.com/panorama/wp-content/themes/panorama/style.css #Suche { Hintergrund: # 555; Grenze: 1px fest # b3b3b3; float: rechts; Höhe: 22px; Rand: 30px 15px 0 0; Polsterung: 0 5px 0 0; Breite: 234px; -moz-border-radius: 4px; -khtml-border-radius: 4px; -webkit-border-radius: 4px; Randradius: 4px; } * html #search { margin-right: 8px; } # Sucheingabe { Hintergrund: transparent; Grenze: 0; Schwimmer: links; Schriftgröße: 105%; Rand: 2px 0 0; Polsterung: 1px 2px 2px 10px; Breite: 198px; } #search.searchsubmit { Rand: 3px 0 0 5px; Polsterung: 0; Breite: Auto; } #footer ein { font-weight: 100; – WouterB

10

WouterB, hatte ich das gleiche Problem mit meinem Kind Thema laden im Backend, und Kind php Seiten überschreiben die übergeordneten Thema PHP-Seiten, aber KEIN Kind CSS ändert laden, um die übergeordneten Stile zu überschreiben.

Also, obwohl mit anderen Codierung, stellt sich heraus, dass mein Elternthema so geschrieben wurde, dass der Header auch nach dem Stylesheet im Vorlagenverzeichnis suchte, also war Ihre Lösung im Konzept genau richtig.

So kann durch den Aufruf im Header Wechsel von:

<link rel="stylesheet" type="text/css" 
    href="<?php echo get_template_directory_uri();?>/style.css" /> 

zu:

<link rel="stylesheet" type="text/css" 
    href="<?php echo get_stylesheet_directory_uri();?>/style.css" /> 

--did den Trick wie Magie. Zumindest soweit ich das beurteilen kann.

Sie erhalten einen großen Kredit in meinem Buch!

+0

Haha, ich glaube du hast gerade meinen ersten Post hier wiederbelebt. Ich glaube nicht, dass ich wusste, wie es damals funktioniert hat. Glücklich hat es dir aber geholfen. Hier ist etwas Macht für euch +10;) – WouterB

+0

Wäre es nicht noch besser wp_enqueue_style ('style', get_stylesheet_uri()) zu verwenden; – Tomas

0

aus caching Achtung:

  1. wp Cache-Plug-ins

  2. Serverseitigen Cache (APC usw.

    )
  3. lokalen Browser-Cache

0

nicht importieren verwenden.

Fügen Sie die Zeit nach css uri für die Aktualisierung jedes Mal hinzu.

In Ihrem function.php

function child_style() { 
    wp_enqueue_style('parent-child', get_stylesheet_uri().'?'.time()); 
} 
add_action('wp_enqueue_scripts', 'child_style', 20); 
Verwandte Themen