Aktuell arbeiten wir noch im Hintergrund an der Foren-Struktur, daher kann es vorkommen das noch nicht alles zu 100% passt. Sowohl die Foren-Bereiche, Labels, Berechtigungen, Icons und das verschieben der Themen in die entsprechende Bereiche wird noch alles durchgeführt, sobald das abgeschlossen ist entfernen wir diesen Hinweis auch.
  • Ich arbeite unter WP 5.1 mit dem Theme Twenty Sixteen. Das primäre Menü ist bei diesem Theme standardmäßig oben rechts im Header platziert. Ich möchte ein zusätzliches Menü unterhalb des Header-Bildes haben.

    Um dies zu erreichen, habe ich mir die header.php angesehen und als relevanten Code das Folgende identifiziert:

    Diesen Code habe ich - ohne die beiden hiesigen Auslassungszeichen im Code - am Ende meiner single.php vor

    Code
    </header><!-- .site-header -->
           <div id="content" class="site-content">

    eingefügt.

    Das führt erwartungsgemäß dazu, daß das Menü, das ohnehin schon oben rechts im Header war, nun unterhalb des Header-Bildes wiederholt wird:

    http://peter-nowak-journalist.de/

    Ich möchte dort nun allerdings nicht das gleiche Menü wiederholen, sondern ein anderes Menü plazieren.

    Ich gehe davon, daß ich an den drei Stellen im zusätzlichen Code, wo "( 'primary' )" steht, statt "primary" den Namen des von mir gewünschten Menüs nennen muß.

    Ich habe ausprobiert, was passiert, wenn ich "primary" durch "veranstaltungen" ("Veranstaltungen" ist der von mir selbst gewählte Name für eines meiner Menüs) ersetze: Es wird nichts angezeigt...

    Wie kann ich herausfinden, was quasi der 'System-Name' meiner Menüs ist, den ich in meinem zusätzlichen Code verwenden muß?

    PS.:

    Vermutlich muß ich auch noch bei

    Code
    array(
                                              'theme_location' => 'primary',
                                              'menu_class' => 'primary-menu',
                                          )

    etwas ändern, oder? Und falls ja: Was muß ich da austauschen?

    Edited 3 times, last by Am Ende des Lateins (March 3, 2019 at 9:32 AM).

    • 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

    Wenn du Fragen hast, kannst du dich gerne jederzeit an @Maximilian Rupp wenden

    Hinweis: folgt noch

  • schau dich mal im codex um: https://codex.wordpress.org/Navigation_Menus

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

  • Danke. :)

    Ich habe in meine child functions.php eingefügt:

    Code
    // This theme uses wp_nav_menu() in three locations.
       register_nav_menus( array(
           'primary' => __( 'Primary Menu', 'twentysixteen' ),
           'secondary'  => __( 'secondary', 'twentysixteen' ),
           'social'  => __( 'Social Links Menu', 'twentysixteen' ),
       ) );

    Dadurch erscheint im back end die Möglichkeit, bei "Design / Menüs / Positionen verwalten" einem beliebigen Menü die Position "secondary" zuzuweisen.

    Und in meiner child header.php heißt die relevante Passage jetzt:

    Es sieht jetzt so erst einmal so aus:

    http://peter-nowak-journalist.de/

    Ich werde gleich noch ausprobieren, ob ich "|| has_nav_menu( 'social')" wegstreichen kann. - Und dann muß ich noch das Menü zusammenstellen, das eigentlich - statt der Veranstaltungen - dahin soll und dem die Position "secondary" zuweisen.

    "|| has_nav_menu( 'social')" kann für meinen Zweck in der Einfügung tatsächlich weg. -

    Ist es eigentlich korrekt, daß ich in in meinen child-Datei "twentysixteen" stehen lasse oder müßte daher eher so etwas wie "dgschild" stehen?

    Jetzt fällt mir - abgesehen von dem, was ich eh noch ändern muß - auf: Wieso sind denn die Menüpunkte meines secondary-Menüs untereinander angeordnet, obwohl das Menü in die gleichen div-Klassen eingeschlossen ist, wie das primäre Menü?

    Edited 3 times, last by maxe (March 3, 2019 at 4:11 PM).

  • Wieso sind denn die Menüpunkte meines secondary-Menüs untereinander angeordnet


    Weil die als standardmäßig mit 'display: block; ' formatiert sind.
    Versuche...

    HTML
    #menu-veranstaltungen li {
      display: inline-block;
    }


    dann sollten die Menüpunkte nebeneinander dargestellt werden.

    Mir ist aufgefallen, dass du mehrfach die selbe ID für Elemente vergeben hast - das darf nicht sein! Eine ID darf nur einmal (pro Seite) vergeben werden. Das kann in der Folge zu Fehlern führen - eigentlich macht WP so etwas nicht, es wird also irgendwo dort seine Ursache haben, wo du manuell eingegriffen hast.
    https://validator.w3.org/nu/?doc=http%3…ournalist.de%2F

  • Zu 1.:

    Ja, Danke. Funktioniert. - Dann muß ich jetzt noch nach den oberen Rändern gucken oder vllt. untere Ränder hinzufügen. - Das finde ich vllt. selber heraus.

    Zu 2.:

    Ja, das kommt daher, daß für das Primäre Menü (oben rechts) in Zeile 59 der Original Twenty Sixteen header.php das Folgende steht:

    PHP
    <button id="menu-toggle" class="menu-toggle"><?php _e( 'Menu', 'twentysixteen' ); ?></button>

    und ich die fragliche Passage ja zunächst einmal nur verdoppelt hatte, sodaß jetzt in Zeile 109 meiner child header.php das gleiche steht.

    Was müßte da statt dessen stehen? - Und was ist mit den anderen error-Meldungen, die Dein Link anzeigt? Sollte ich mich um die ebenfalls kümmern?

  • Wenn das mal so einfach zu beantworten wäre :(.
    Diese ID solltest du auf jeden Fall berichtigen... also das zweite Vorkommen umbenennen (zb id="menu-toggle-2"). Das kann allerdings Folgen haben, denn diese ID's haben natürlich einen Zweck. Neben der Funktion als Selector im CSS, hängen dort mitunter JavaScript Funktionen dran, die dann bei dem unbenannten Element nicht mehr funktionieren.
    In dem Fall mit dem mit de Menü könnten das solche Dinge sein, wie die Umschaltung auf das Hamburger-Icon bei kleineren Bildschirmen... oder das Öffnen des Menüs beim kicken auf den Hamburger... oder ... oder ... oder...! Das müsstest du testen und schauen, welche Auswirkungen tatsächlich dran hängen.
    Ebenso... allerdings weniger problematisch... können CSS Formatierungen von der ID Benennung abhängen. Das müsste an prüfen und dann ggf. die (umbenannten) Formate im zusätzlichen CSS hinzufügen.
    Man sollte natürlich auch die anderen Fehler, die der Validator ausgibt beseitigen. Wobei du die 'Warnungen' wohl erst mal ignorieren kannst. Die werden wahrscheinlich eh vom WP verursacht und dagegen kannst du nichts machen.
    Es sind da, soweit ich sehe, aber auch Dinge dabei, die du selbst verursacht hast... zB <style>...</style> mitten im Quelltext, die da nicht hingehören und offensichtlich sowieso keine Wirkung haben weil entweder leer oder Elemente angesprochen werden, die es gar nicht gibt im Code.
    Ebenso ist da auch ein oder mehrere Verschachtelungsfehler...

    Quote

    Element p not allowed as child of element small in this context


    Da hast... wahrscheinlich du selbst... versucht ein Blockelement (<p>) in eine Inline-Element (<small>) hinein zu packen. Das geht natürlich nicht und wird als Fehler angegeben.
    Musst halt Stück für Stück die Validatorliste abzuarbeiten. wenn die Fehler in dem von dir geänderten Teil sind beseitigen und den Rest in Ruhe lassen und ggf. den Entwickler des Themes mal darauf ansprechen.

  • In dem Fall mit dem mit de Menü könnten das solche Dinge sein, wie die Umschaltung auf das Hamburger-Icon bei kleineren Bildschirmen... oder das Öffnen des Menüs beim kicken auf den Hamburger... oder ... oder ... oder...! Das müsstest du testen und schauen, welche Auswirkungen tatsächlich dran hängen.

    Das hast Du richtig vermutet: Wenn ich die Umbenennung in menu-toggle-2 vornehme und dann im Costumizer ausprobiere, wie es mit anderen Bildschirm-Größen ist, dann läßt sich zwar das Menü oben rechts, aber nicht mein zusätzliches Menü öffnen... -

    Was mache ich nun?

  • Was mache ich nun?


    1. Javascript, CSS und HTML/PHP lernen und dir den Toggle selber schreiben.
    2. Job z. B. in der Jobbörse hier ausschreiben.

    Ich vermute das sprengt sonst den Rahmen hier im Forum für die Hilfeleistenden.

    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]

  • Hmmm... was zu erwarten war :(. Das dürfte allerdings auch ohne die Umbenennung der ID (2) genau das Problem sein.
    Es wird hier beim klicken auf das Menü-Icon über die Toggle-Funktion durch JavaScript die Klasse 'toggled-on' für das Icon, wie auch für das zugehörige <div> mit der Navigation gesetzt. ... nicht so einfach das nachträglich für die geänderte ID einzubauen.
    Muss denn überhaupt das zweite Menü, das ist ja ziemlich klein und passt wohl auch schon so auf kleinere Bildschirme, diese Funktion vorhanden sein, dass sich das Menü ausblendet und durch einen Button 'Menü' ersetzt wird?

  • OFF-TOPIC

    zu den anderen Fehlern:

    1.

    Quote

    Element style not allowed as child of element section in this context. (Suppressing further errors from this subtree.)

    From line 652, column 1; to line 652, column 7

    ren</h2>↩↩<style>↩<!--↩

    Contexts in which element style may be used:
    Where metadata content is expected.
    In a noscript element that is a child of a head element.
    Content model for element section:
    Flow content.


    Wenn ich mir den Quelltext der Seite ansehe, dann ist Zeile 652:

    Code
    <a class="next page-numbers" href="http://peter-nowak-journalist.de/page/2/">Nächste Seite</a></div>

    Habe ich die richtige Stelle identifiziert? Falls ja, was müßte da nun gemacht werden?


    2.

    Quote

    Stray start tag span.

    From line 920, column 89; to line 920, column 106

    . Betrieb <span class="amp">&amp;<

    Im Quellcode der Seite lauten die Zeilen 919 bis 921:

    Code
    </li>
                                                <li>
                        <a href="http://peter-nowak-journalist.de/2019/02/18/weltordnung-in-scherben/">Weltordnung in Scherben</a>

    Das scheint nicht die gemeinte Stelle zu sein, oder?

    Wenn ich statt dessen im Quellcode nach "Betrieb" suche, stoße ich auf Zeile 931:

    Code
    <option class="level-2" value="12659">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rez. Betrieb <span class="amp">&amp;</span> Gewerkschaften / Arbeit&nbsp;&nbsp;(12)</option>

    Das ist der Name einer Unterkategorie, die ich gestern angelegt hatte: "Rez. Betrieb & Gewerkschaften / Arbeit". span usw. habe ich dabei nicht verwendet; das wurde automatisch erzeugt.

    zurück zu

    1.:

    Wenn ich nach dieser Erfahrung im Quellcode nach "ren</h2>" suche, finde ich in Zeile 658 bis 663:

    Code
    <aside id="secondary" class="sidebar widget-area" role="complementary">
            <section id="ai1ec_agenda_widget-2" class="widget widget_ai1ec_agenda_widget">
        <h2 class="widget-title">Gelegenheiten, mich zu sehen und zu hören</h2>
    <style>

    Das ist mein zweites sidebar widget:

    So könnte ich das weiter durchgehen. - Aber: Ist das das, was ich machen soll?

  • Es steht überall bei, was falsch ist. 1. das style (darf nicht in section), 2. das span (darf nicht in option).

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

  • Muss denn überhaupt das zweite Menü, das ist ja ziemlich klein und passt wohl auch schon so auf kleinere Bildschirme, diese Funktion vorhanden sein, dass sich das Menü ausblendet und durch einen Button 'Menü' ersetzt wird?

    Das Menü soll schon noch etwas länger werden; aber meinetwegen muß sich das nicht unbedingt ausblenden.

    Es steht überall bei, was falsch ist. 1. das style, 2. das span (darf nicht in option).

    Schön und gut. - Aber wie ist es dahin gekommen und wie bekomme ich es weg?

  • Auch hier würde ich behaupten, dass eine Korrektur des Codes von Theme inkl. Plugins und Widgets wohl den Rahmen der Hilfe zur Selbsthilfe sprengt. Viele Fehler kommen durch unzureichende/fehlerhafte Änderungen von dir. Die müssten erst mal alle identifiziert werden. Das ist nicht in 2-3 Sätzen geklärt.

    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]

  • Wenn ich meinen child-Ordner rausnehme, zeigt der Validator auch lauter Fehler an:

    https://validator.w3.org/nu/?doc=http://peter-nowak-journalist.de/

    PS.:

    Das war voreilig; irgendwie hatte ich den Ordner gerade nicht richtig bzw. nicht vollständig verschoben. Moment.

    PPS.:

    So - das Theme mußte ich natürlich noch zurück von meinem child auf Twenty Sixteen ändern; aber die Fehlermeldung des Validators bleiben trotzdem.

    Und die Twenty Sixteen-Dateien sind auch alle vom 24.2. - also frisch und nicht nachträglich von mir geändert.

    Edited 2 times, last by Am Ende des Lateins (March 3, 2019 at 4:29 PM).

  • Nimm das Child-Theme raus, sämtliche Änderungen unter Design - Customizer - Zusätzliches CSS und außerdem deaktiviere alle Plugins und schaue dann noch mal was der Validator ausspuckt.

    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]

  • Das child hatte ich schon raus; zusätzliches Costumizer-CSS habe nicht, da ich ja eh meine eigene child css.style habe; jetzt habe ich noch alle Plugins deaktiviert; nun sind es zwar weniger Fehler aber immer noch eine ganze Reihe.

    Die kann ich noch mal durchgehen. - Bliebe ansonsten noch die Frage, was mit den Fehlern ist, die anscheinend von den Plugins verursacht werden - sind die denn ein ernsthaftes Problem, solange mir und anderen Leuten die Seite so angezeigt wird, wie sie angezeigt werden soll?

  • Wenn wirklich allen alles so angezeigt wird wie es soll, dann denke ich nicht. Aber jeder Browser reagiert anders auf invaliden Code. Die Frage kannst du dir also nur selber beantworten.

    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]

  • Die meisten verbliebenen Fehlermeldungen ergaben sich daraus, daß ich in meinem html-Widget die small-tags ganz an den Anfang und ganz ans Ende gesetzt hatte, statt sie jeweils innerhalb der p-tags zu plazieren.

    Jetzt gibt es - ohne Plugins und ohne child - noch drei Probleme mit dem Video in der sidebar; den code dafür habe ich von der Seite, von der das Video stammt:

    https://de.labournet.tv/video/6703/solidaritaetskundgebung-fuer-eine-gefangenen-gewerkschaft#
    (siehe "EMB"-Button).

    Ich habe jetzt mein child-Theme wieder reingeschoben; dadurch sind die Video-Fehler merkwürdigerweise verschwunden - und ein paar andere hinzugekommen.

    Die werde ich gleich noch mal durchgehen.

    PS.:

    Abgesehen von den Fehlermeldungen funktioniert jetzt auch die Anzeige der Seite nicht. Aber das liegt anscheinend daran, daß Zeile 13 meiner content.php das ACF-Plugin erfodert:

    PHP
    <div class="sticky-post"><?php the_field( 'dachzeile' ) ?></div>

    So, jetzt habe ich das ACF-Plugin wieder aktiviert - mit der Folge, daß die Seite wieder angezeigt wird und die drei Fehlermeldungen zu dem Video wieder da sind -

    außerdem noch zwei Fehlermeldungen wegen der Doppelung von "<div id="site-header-menu" class="site-header-menu">↩ " in meiner child header.php.

    Dazu probiere ich gleich noch, was passiert, wenn ich die id in "site-header-menu-2" ändere. -

    Und was soll ich mit den Video-Fehlermeldungen machen?

    Edited 2 times, last by maxe (March 3, 2019 at 9:16 PM).

  • 1.

    Dazu probiere ich gleich noch, was passiert, wenn ich die id in "site-header-menu-2" ändere.

    Das verursacht mit meinem großen Display erst einmal keinen sichtbaren Schaden. Soll ich trotzdem vielleicht in meiner style.css

    Code
    .site-header-menu {
       display: none;
       -webkit-flex: 0 1 100%;
       -ms-flex: 0 1 100%;
       flex: 0 1 100%;
       margin: 0.875em 0;
    }

    um dasselbe für .site-header-menu-2 ergänzen?

    2.

    Quote

    Muss denn überhaupt das zweite Menü, das ist ja ziemlich klein und passt wohl auch schon so auf kleinere Bildschirme, diese Funktion vorhanden sein, dass sich das Menü ausblendet und durch einen Button 'Menü' ersetzt wird?

    Ich habe jetzt mal probiert, was passiert, wenn ich die Zeile

    PHP
    <button id="menu-toggle-2" class="menu-toggle"><?php _e( 'Menu', 'twentysixteen' ); ?></button>

    einfach streiche: Dann verschwindet das Menü bei kleinem Display ersatzlos - das ist natürlich nicht erwünscht. Wie kann ich das vermeiden?

    3.

    Quote

    Das dürfte allerdings auch ohne die Umbenennung der ID (2) genau das Problem sein.

    Ja, der Button für kleine Displays funktioniert auch dann nicht, wenn ich "menu-toggle" (ohne "-2") stehen lasse. - Ergibt sich also die Frage:

    (Wie) kann ich erzwingen, das auch bei kleinen Displays das eigentlich Menü statt des Buttons angezeigt wird?

  • Ich habe mir jetzt Folgendes überlegt:

    A.

    1.

    Ich habe den Link zum Impressum in das untere Header-Menü verschoben. Damit sind oben rechts ohnehin nur noch externe Links. - Wenn diese von Smartphone- und Tablet-UserInnen nicht erreicht werden, ist das ja nicht so tragisch.

    2.

    Daher habe ich mich entschlossen,

    • nun unten den Original-Twenty Sixteen Code mit "menu-toggle" und "site-header-menu" zu verwenden


    und

    • oben den modifizierten Code


    sowie

    • demgemäß nun mein neues Menü die Position "primary" zuzuweisen und dem alten die Position "secondary".

    3.

    Für das - nun obige - secondary-Menü habe ich den Code in folgender Weise modifiziert:

    • Die Zeile
    PHP
    <button id="menu-toggle" class="menu-toggle"><?php _e( 'Menu', 'twentysixteen' ); ?></button>
    • habe ich einfach herausgenommen, sodaß das obige Menü nun Leuten mit kleinen Displays gar nicht erst angezeigt wird,


    und

    • statt "site-header-menu" schreibe ich dort "site-header-menu-2".

    4. a)

    Damit lautet meine komplette child header.php nun:

    b) Und in meiner style.css habe ich:


    c) Besonders hübsch sieht es in der Smartphone-Darstellung des Customizers nicht aus - aber ich selbst und der content-Produzent besitzen eh keine Smartphones... ;)


    B.

    Wegen der Fehlermeldungen zu dem Video in der sidebar werde ich einen neuen Thread beginnen; das hat ja hiermit nichts zu tun.


    C.

    Dann bleiben für hier eigentlich nur noch die beiden Fragen:

    • Spricht etwas grundlegend gegen meine sub A. dargestellte - zugegebenermaßen: Not- - Lösung?
    • Soll ich das, was von Hause für "site-header-menu" in meiner style.css steht, vorsichtshalber auch entsprechend für "site-header-menu-2" reinschreiben oder ist das überflüssig?


    D.

    Wenn ich jetzt noch mal alle meine Plugins, außer ACF deaktiviere, spuckt der Validator - außer den drei Fehlermeldungen wegen des Videos in der sidebar - noch die beiden folgenden (zusammenhängenden) Fehlermeldungen aus:

    Quote
    1. Warning: The navigation role is unnecessary for element nav.

      From line 87, column 14; to line 87, column 109

      <nav id="site-navigation" class="main-navigation" role="navigation" aria-label="Secondary Menu">


    2. Error: Duplicate ID site-navigation.

      From line 109, column 14; to line 109, column 108

      <nav id="site-navigation" class="main-navigation" role="navigation" aria-label="Primäres Menü">

    Edited 2 times, last by Am Ende des Lateins (March 3, 2019 at 9:44 PM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!