Eigenes Theme - Scrips und CSS im Header nur auf bestimmten Seiten einbinden

  • Hallo!

    Ich versuche mich gerade an meinem ersten eigenen WP Theme. Soweit funktioniert auch alles.

    Auf den verschiedenen Seiten nutze ich unterschiedliche JavaScripte für verschiedene Aufgaben (Slider, Galarieanzeige, etc.). Die zugehörigen Scripte und Styles werden im Header eingebunden.

    Das funktioniert prima, aber so werden natürlich auf jeder Seite alle Scripte und alle Styles eingebunden, die irgendwo benötigt werden.

    Wie kann man dies am Besten lösen, so dass auf jeder Seite nur die Dateien eingebunden werden, die dort auch wirklich benötigt werden?

    Kann man einer Seite einen Parameter mitgeben anhand dessen dann entschieden wird welche Dateien dort eingebunden werden müssen?

    Im Template wird ja die Funktion wp_head(); am Ende des Headers aufgerufen. Soweit ich dies verstanden habe bekommen hier durch Plugins die Möglichkeit dem Header Daten hinzuzufügen. Aber wie kann ich diese Möglichkeit selber nutzen?

    Besten Dank
    Prio

    • 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

  • 1. gibt es die sog. Conditional-Tags, mit denen du bestimmte Seiten, Artikel oder Kategorien über deren ID abfragen kannst, z.B.

    PHP
    <?php if (is_page('ID')) { ?>
    script blablubb
    <?php } ?>


    http://codex.wordpress.org/Conditional_Tags

    2. kannst du eigene Templates für Seiten oder Kategorien erstellen, wo du dann deine Scripts reinpackst:
    http://doku.wordpress-deutschland.org/Seiten#Seiten_Templates
    http://codex.wordpress.org/Category_Templates

    [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]

  • 1. gibt es die sog. Conditional-Tags, mit denen du bestimmte Seiten, Artikel oder Kategorien über deren ID abfragen kannst, z.B.

    PHP
    <?php if (is_page('ID')) { ?>
    script blablubb
    <?php } ?>

    http://codex.wordpress.org/Conditional_Tags

    Könnte man mit dieser Lösung jeder einzelnen Seite die man erstellt eine eigene CSS Datei verpassen? Wenn das ganze in der page.php hinterlegt wird.

    z.B. Für Seite 1

    PHP
    <?php if (is_page('1')) { ?>
    <link rel="stylesheet" type="text/css" media="all" title="Seite 1 CSS" href="http://www.test.com/wordpress/wp-content/themes/test/seite1.css" />
    <?php } ?>

    für Seite 2

    PHP
    <?php if (is_page('2')) { ?>
     <link rel="stylesheet" type="text/css" media="all" title="Seite 2  CSS"  href="http://www.test.com/wordpress/wp-content/themes/test/seite2.css"  />
     <?php } ?>

    Oder ist das ganze so nicht zu realisieren? Und man müsste doch das ganze anders gestalten?

    Gomotes - farbenfrohe emoticons

  • Ja, ich würde das ganze dann aber nicht in die page.php packen, sondern in die header.php wo der Code hingehört.

    [LEFT]

    PHP
    <?php if (is_page('1')) { ?>
    <link rel="stylesheet" type="text/css" media="all" title="Seite 1 CSS" href="http://www.test.com/wordpress/wp-content/themes/test/seite1.css" />
    <?php } else if (is_page('2')) { ?>
    <link rel="stylesheet" type="text/css" media="all" title="Seite 2  CSS"  href="http://www.test.com/wordpress/wp-content/themes/test/seite2.css"  />
     <?php } else { ?>
    <link rel="stylesheet" type="text/css" media="all" title="Allgemein CSS"  href="http://www.test.com/wordpress/wp-content/themes/test/style.css"  />
    <?php } ?>

    [/LEFT]

    [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]

  • Custom Fields

    Und um das ganze noch komfortabler zu machen, kann man den Link zur CSS-Datei von Pfad/ bis.css per CustomField auswählen.
    Dort musst du dann nur den Dateinamen reinschreiben oder du machst es (wegen der Rechtschreibung) mit Zahlen. 5 verschiedene Bilder in 5 CSS Dateien hinterlegt und beim neu anlegen einer Seite gibst du im CustomField 1,2,3,4 oder 5 ein.

Jetzt mitmachen!

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