• Moin 🙂

    Ich stehe vor folgender Herausforderung:

    Auf meiner Website werden auf 6 Unterseiten Vergleichsrechner eines externen Anbieters geladen. Hierfür wird eine JavaScript Datei im Header auf den entsprechenden Unterseiten geladen (das habe ich schon über die functions.php hinbekommen, dass es nur auf den 6 Seiten geladen wird und nicht global).

    Nun muss aber noch ein Namespace in Form eines HTML Snippets geladen werden.
    Aktuell habe ich das über das Plugin Insert Headers & Footers global gelöst und es funktioniert auch. Allerdings ist mein Ziel, dass das Snippet ebenfalls nur auf den 6 Unterseiten geladen wird, wo es auch benötigt wird und nicht global.

    Kann mir jemand sagen, ob und wie ich das über die functions.php lösen kann?

    Konkret soll dieses Snippet hier auf bestimmten Seiten geladen werden:
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:dio="http://docs.dionera.com/namespace/DioML">

    Ich freue mich auf eure Antworten!

    • Dieses Thema wurde vor 4 Jahren, 5 Monaten von sercry geändert.
    • Dieses Thema wurde vor 4 Jahren, 5 Monaten von sercry geändert.

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

Ansicht von 1 Antwort (von insgesamt 1)
  • Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Das öffnende <html>-Tag ist Bestandteil des Template header.php und kann normalerweise nicht fallweise geändert werden. Spontan fallen mir nur zwei Lösungen ein, die beide ein Child-Theme voraussetzen:

    1. Du legst ein Child-Theme an, kopierst die header.php und änderst das <html>-Tag mit Conditional Tags ab:
      …
      <!doctype html>
      <?php
      $pages = array( 
        'Vergleichsrechner eins',
        'Vergleichsrechner zwei',
      ) 
      $xmlns = '';
      if ( is_page( $pages ) ) {
        $xmlns = 'xmlns="http://www.w3.org/1999/xhtml" xmlns:dio="http://docs.dionera.com/namespace/DioML"';
      }
      ?>
      <html <?php language_attributes(); ?> <?php twentytwentyone_the_html_classes(); ?> <?php echo $xmlns; ?>>
      …
    2. Du legst ein Child-Theme an, kopierst das Template page.php, änderst den Template-Namen und die Funktion get_header(); in get_header('xmlns');
      <?php
      /**
       * Template Name: XMLNS
       *
       */
      
      get_header( 'xmlns' );
      
      /* Start the Loop */

      Hierdurch wird dann statt des Header-Templates header.php ein Template header-xmlns.php geöffnet. Dazu kopierst du aus dem Parent Theme das Template header.php und passt das <html>-Tag nach deinen Wünschen an.
      Ziel ist, dass du jeder Seite mit einem Vergleichsrechner das Template manuell zuweisen kannst.

    Denk bitte daran, dass wir hier Anwendungs-Support geben möchten. Für Programmier-Fragen bist du auf https://wordpress.stackexchange.com besser aufgehoben. Den oben aufgeführte Code habe ich kurzerhand als sinngemäßes Beispiel geschrieben und nicht weiter geprüft.

Ansicht von 1 Antwort (von insgesamt 1)

Das Thema „HTML Snippet auf bestimmten Unterseiten im Body laden“ ist für neue Antworten geschlossen.