Support » Allgemeine Fragen » wp_head() funktioniert nicht

  • Gelöst jerunnon

    (@jerunnon)


    Hallo zusammen,

    bin dabei mein erstes WordPress Theme zu erstellen und aus irgendeinem Grund erscheint in meinem Header das Stylesheet, welches ich einbinden möchte nicht. Ich binde es über die functions.php mit folgenden Code ein:

    <?php 
    
    function enqueue_my_custom_styles(){
    
      wp_enqueue_style('flexbox', get_template_directory_uri() . 'css/flexboxgrid.css', array(), '1.0.0', 'all');
    }
    add_action('wp_enqueue_scripts', 'enqueue_my_custom_styles');
    
    

    und in meinem Head habe ich dann unter den <title> <?php wp_head(); ?> geschrieben.

    Habe mal einen Link zum Bild angefüht, in dem man sieht, dass es in WP nicht angezeigt wird.

    Vielen Dank im Voraus
    Simon

    • Dieses Thema wurde geändert vor 2 Jahre, 1 Monat von jerunnon.
    • Dieses Thema wurde geändert vor 2 Jahre, 1 Monat von jerunnon.

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 13 Antworten - 1 bis 13 (von insgesamt 13)
  • Das Bild hilft nichts, ein Link zur Website wäre toll gewesen.

    Probier mal

    wp_enqueue_style( 'flexbox', get_template_directory_uri() . '/css/flexboxgrid.css' );

    Thread-Ersteller jerunnon

    (@jerunnon)

    Hi,

    link zur Website wird schwer läuft über einen Local-Host.
    Habe es geändert, immer noch das selbe Ergebnis. Irgendwie scheint die wp_head() Function nicht zu funktionieren, aber ich weiß nicht wieso.

    VG
    Simon

    Irgendwie, irgendwann … ist schwer einzuschätzen.
    Gibt es ein GitHub-Repo mit dem Code?

    Du kannst zum Debuggen auch mal versuchen

    add_action( 'wp_head', 'pix_debug_head' );
    function pix_debug_head() {
      echo '<!-- ####### Frisch eingefügt ###### -->';
    }

    Das sollte dann im Quelltext gut sichtbar sein.
    Oder du arbeitest am falschen Theme. 😀

    Thread-Ersteller jerunnon

    (@jerunnon)

    Nein, habe ich nicht angelegt. Könnte aber einen OneDrive Link teilen.

    Habe deinen Code eingefügt und es ist nichts passiert.
    wp_head() gehört doch zum Core von WP, so das ich nicht extra eine Funktion dafür schreiben muss, richtig?

    Und das mit dem Theme habe ich überprüft ist das richtige 😀

    Der Thread ist jetzt als „gelöst“ markiert.
    Hast du eine Lösung gefunden? Welche?
    Oder ist die Frage noch nicht beantwortet und die Markierung ein Versehen?

    Thread-Ersteller jerunnon

    (@jerunnon)

    Hi,

    also er scheint die CSS-Datei zu laden, denn mein Grid Layout funktioniert, aber es wird im Head nicht angezeigt, das ist seltsam. Die Integration eines Titel über die title_tag function geht nicht. Also die hier: https://make.wordpress.org/core/2014/10/29/title-tags-in-4-1/

    Die wp_head() Funktion macht auf jeden Fall etwas, weil wenn ich die aus dem <head> rausnehme, stehen da nur noch die html tags, die ich dort reingeschrieben habe.

    Thread-Ersteller jerunnon

    (@jerunnon)

    Oke mal ne ganz blöde Frage: Ich habe ja WordPress über XAMPP installiert und lasse das alles über den Localhost laufen. Würde ja bedeuten ich bin auch Admin des ganzen.

    Die Testseite rufe ich über localhost/wordpress/ auf. Befinde ich mich dann in einer Admin Ansicht oder nicht?

    Das Hosting (lokal/beim Webhoster) hat nichts damit zu tun, ob und mit welcher Benutzerrolle du im Backend angemeldet bist.

    Ansonsten macht es wenig Sinn über Code zu sprechen, den ich nicht sehe.
    Pastebin kennst du doch sicher?

    Thread-Ersteller jerunnon

    (@jerunnon)

    Ne kenne ich nicht, aber sieht Codepen sehr ähnlich, also komme ich damit klar 😀

    was für Code brauchst du alles?

    Thread-Ersteller jerunnon

    (@jerunnon)

    hier ist der link zum pastebin, habe den Code aus der functions.php und aus der header.php eingefügt.

    https://pastebin.com/R8HQiW1n

    • Diese Antwort wurde geändert vor 2 Jahre, 1 Monat von jerunnon.

    Statt

    function enqueue_my_custom_styles(){
      wp_enqueue_scripts( 'flexbox', get_template_directory_uri() . '/css/flexboxgrid.css', array(), 1.0.0, 'all');
    }
    add_action('wp_enqueue_scripts', 'enqueue_my_custom_styles');

    sollte es heißen

    function enqueue_my_custom_styles(){
      wp_enqueue_style( 'flexbox', get_template_directory_uri()  . '/css/flexboxgrid.css' );
    }
    add_action('wp_enqueue_scripts', 'enqueue_my_custom_styles');

    Ist das ein Parent oder Child Theme?
    Die Funktion get_template_directory_uri() gibt die URL zum Verzeichnis des Parent-Theme-Stylesheet zurück. Wenn du das im Child-Theme einsetzt, musst du get_stylesheet_directory_uri() verwenden.

    Wieso die Zeile <!-- ####### Frisch eingefügt ###### --> im Header nicht erscheint, kann ich nicht nachvollziehen. Da würde ich nochmal prüfen, welches Theme aktiv ist.

    Thread-Ersteller jerunnon

    (@jerunnon)

    Ähhh habs gelöst, ist mir auch gerade ein wenig peinlich, aber die functions.php Datei war in einem falschen Pfad abelegt 😅 🤦‍♂️

    Sowas passiert. Deshalb der Vorschlag, zum Debuggen erst einmal eine gut sichtbare Zeile einzufügen. Dabei ist auch wichtig, dass du nicht nur „Hallo Welt“-Text nimmst, sondern etwas, was direkt ins Auge springt. Findest du das nicht auf Anhieb, arbeitest du im falschen Pfad, am falschen Theme, mit der falschen Datei …

    Schau dir mal Git an, das lohnt sich wenn du öfters etwas entwickeln und dich vor (selbst verursachtem) Schaden schützen möchtest: https://rogerdudler.github.io/git-guide/index.de.html – bei einem GitHub-Repo kann auch mal jemand rasch reinschauen und sieht, wie die Dateien zusammenhängen.

Ansicht von 13 Antworten - 1 bis 13 (von insgesamt 13)
  • Das Thema „wp_head() funktioniert nicht“ ist für neue Antworten geschlossen.