Scripte aus dem head in den Footer

  • Hallo,

    ich schon wieder mit einem Problem :-)
    Um .js und .css auf dem header zu entfernen und im Footer zu laden, hab ich folgendes Script in die function.php eingefügt:
    [COLOR=#434343][FONT=Courier New]function jquery_to_footer() {[/FONT][/COLOR]
    [COLOR=#434343][FONT=Courier New] remove_action('wp_head', 'wp_print_scripts');[/FONT][/COLOR]
    [COLOR=#434343][FONT=Courier New] remove_action('wp_head', 'wp_print_head_scripts', 9);[/FONT][/COLOR]
    [COLOR=#434343][FONT=Courier New] remove_action('wp_head', 'wp_enqueue_scripts', 1);[/FONT][/COLOR]
    [COLOR=#434343][FONT=Courier New] add_action('wp_footer', 'wp_print_scripts', 5);[/FONT][/COLOR]
    [COLOR=#434343][FONT=Courier New] add_action('wp_footer', 'wp_enqueue_scripts', 5);[/FONT][/COLOR]
    [COLOR=#434343][FONT=Courier New] add_action('wp_footer', 'wp_print_head_scripts', 5);[/FONT][/COLOR]
    [COLOR=#434343][FONT=Courier New]}[/FONT][/COLOR]
    [COLOR=#434343][FONT=Courier New]add_action( 'wp_enqueue_scripts', ' jquery_to_footer' );

    Das funktioniert soweit auch. Nun möchte ich aber ein Script davon ausschließen, da sonst das Element (j-query)auf der Seite nicht mehr funktioniert. Wie kann man das lösen?
    Hat Jemand eine Idee?

    Grüße[/FONT][/COLOR]

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • jQuery muss als erstes geladen werde. Vielleicht liegt es nur daran. Versuch das mal in deiner functions.php

    PHP
    function it_scripts_loader() {
      if (!is_admin()) {
        wp_deregister_script('jquery');
        wp_register_script('jquery', '/wp-includes/js/jquery/jquery.js', false, null, true);
        wp_enqueue_script('jquery');
      }
    }
    add_action('wp_enqueue_scripts', 'it_scripts_loader', 1);

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • und .css auf dem header zu entfernen und im Footer zu laden

    warum genau willst du CSS aus dem Head verbannen?

    Und wegen dem Script, um welches handelt es sich?

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Hallo,

    vielen Dank für die Antworten.
    SirEctor: ich habe das Script in die function.php rein kopiert. Leider keine Veränderung. Das Accordion-Element lässt sich nicht mehr bedienen, sobald das Script dafür im Footer und nicht mher im head geladen wird.

    maxe: ich möchte die .js und .css in den Footer legen, da ich so laut google pagespeedtool 6 Punkte gewinne.

    Habt ihr ideen wie ich das eine Script vor der Verbannung in den Footer schützen kann ;-)?

  • CSS gehört in den Head, da wirst du sicherlich keine Punkte gut machen.

    Und noch mal, um welches Script handelt es sich? Sowas könnte man nämlich auch wieder über wp_register_script() / wp_enqueue_script() ändern. Brawler hat ja auch schon einen Link dazu gepostet. Lies dir das mal in Ruhe durch und dann auch dazu den wp codex.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • vielen Dank für eure Antworten! So wie ich den Beitrag verstehe, soll ich ein child theme anlegen mit einem head in dem keine .js geladen werden und dann die unbedingt notwendigen scripte manuell über die Funktion implementieren.
    [COLOR=#000000][FONT=Consolas]add_action[/FONT][/COLOR][COLOR=#145680][FONT=Consolas]([/FONT][/COLOR][COLOR=#800000][FONT=Consolas]'wp_enqueue_scripts'[/FONT][/COLOR][COLOR=#145680][FONT=Consolas],[/FONT][/COLOR][COLOR=#800000][FONT=Consolas]'enqueue_my_scripts'[/FONT][/COLOR][COLOR=#145680][FONT=Consolas]);[/FONT][/COLOR][COLOR=#000000][FONT=Consolas]
    [/FONT][/COLOR][COLOR=#8A4A0B][FONT=Consolas]function[/FONT][/COLOR][COLOR=#000000][FONT=Consolas] enqueue_my_scripts[/FONT][/COLOR][COLOR=#145680][FONT=Consolas]()[/FONT][/COLOR][COLOR=#000000][FONT=Consolas]
    [/FONT][/COLOR][COLOR=#145680][FONT=Consolas]{[/FONT][/COLOR][COLOR=#000000][FONT=Consolas]
    wp_enqueue_script[/FONT][/COLOR][COLOR=#145680][FONT=Consolas]([/FONT][/COLOR][COLOR=#800000][FONT=Consolas]'jquery-tools'[/FONT][/COLOR][COLOR=#145680][FONT=Consolas],[/FONT][/COLOR][COLOR=#000000][FONT=Consolas] get_template_directory_uri[/FONT][/COLOR][COLOR=#145680][FONT=Consolas]()[/FONT][/COLOR][COLOR=#145680][FONT=Consolas].[/FONT][/COLOR][COLOR=#800000][FONT=Consolas]'/js/jquery.tools.js-1.2.7.min.js'[/FONT][/COLOR][COLOR=#145680][FONT=Consolas],[/FONT][/COLOR][COLOR=#000000][FONT=Consolas] array[/FONT][/COLOR][COLOR=#145680][FONT=Consolas]([/FONT][/COLOR][COLOR=#800000][FONT=Consolas]'jquery'[/FONT][/COLOR][COLOR=#145680][FONT=Consolas]),[/FONT][/COLOR][COLOR=#8A4A0B][FONT=Consolas]false[/FONT][/COLOR][COLOR=#145680][FONT=Consolas],[/FONT][/COLOR][COLOR=#8A4A0B][FONT=Consolas]true[/FONT][/COLOR][COLOR=#145680][FONT=Consolas]);
    [/FONT]


    [/COLOR]Leider habe ich noch nie mit child themes gearbeitet. Kann ich nicht einfach auch die oben stehende Funktion in der custopm php nutzten und das eine nötige Script wieder oben im head aufrufen und die anderen im footer lassen?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!