1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Kann man die Klasse eines a-elements in standard-widgets beieinflussen

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von aturo, 20. Januar 2015.

  1. aturo

    aturo Well-Known Member

    Registriert seit:
    26. Dezember 2012
    Beiträge:
    84
    Zustimmungen:
    0
    Hallo zusammen, mich würde gerne interessieren, ob man die Klasse eines A-Elements in den Standard-Widgets irgendwie beeinflussen kann.

    Den bei der Sidebar-Registrierung kann man nur "before_widget", "after_widget" und "title" beieinflussen.
    Den Code des Inhalts allerdings nicht.
    Beispiel:
    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Die class="..." innerhalb des <a>-elements würde ich gern beieinflussen.
    Hoffe es ist verständlich genug.

    Vielleicht gibt es auch eine filter-möglichkeit dazu.
    z.B.
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    oder so ähnlich???

    Ein Hinweis im Codex wäre evtl. auch hilfreich. Danke im Voraus.
     
  2. pixselig

    pixselig Well-Known Member

    Registriert seit:
    8. Mai 2012
    Beiträge:
    2.294
    Zustimmungen:
    5
    Hallo

    Also:
    1.) das a-Tag unterstützt gar kein class-Attribut
    2.) Schaut die Struktur eines mit WP erstelletn Menüs anders aus. In etwa:
    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    3.) bekommt jeder Menüpunkt der mit WP erstellt wird schon eine eindäutige Klasse im li-Tag mitgegeben. -> Darüber lässt sich auch jedes a-Tag indivisduell ansprechen
    4.) wenn das nicht reicht, kannst du im Dashboard unter Design>>Menüs jedem Menüpunkt in den Einstellungen auch unter "CSS-Klassen (optional)" eine ganz eigene Klasse festlegen.

    LG, pixselig
     
  3. aturo

    aturo Well-Known Member

    Registriert seit:
    26. Dezember 2012
    Beiträge:
    84
    Zustimmungen:
    0
    Vielen Dank für flotte Antwort, das mit dem Stylen der Klassen über Einstellungen kenne ich natürlich auch.
    Es sollte aber nach Möglichkeit in der functions.php eines Themes platz finden, das Theme wird mit Bootstrap-Framework bereichert und deswegen auch entsprechende Klassen nach Möglichkeit bekommen.
    Darum dachte ich dass es evtl. eben Filtermöglichkeiten gibt.
    Dann könnte man evtl. mit
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    den code ja ändern.
    Hätte ja sein können, weil das im Content funktioniert. Wäre ja möglich dass es auch in widgets möglich wäre.
    Beispiel:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Habe ich so getestet, aber leider ohne Erfolg.
     
  4. stega

    stega Well-Known Member

    Registriert seit:
    21. Oktober 2007
    Beiträge:
    156
    Zustimmungen:
    0
    Das könnte evtl. mit jQuery zu lösen sein.
    Und zwar nach der Art von
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    removeclass und newclass müssen natürlich durch die entspr. Klassennamen und der jQuery-Selector (#asideID) angepasst werden.

    Der Code kann dann z.B. in der footer.php gespeichert werden.
     
  5. aturo

    aturo Well-Known Member

    Registriert seit:
    26. Dezember 2012
    Beiträge:
    84
    Zustimmungen:
    0
    Mit jQuery klappt es. Wollte eigentlich überall wo es nicht unbedingt erforderlich ist auf javascript verzichten, Andererseits so schlimm ist es nicht, angezeigt werden ja die Links. Werden nur anders dargestellt. Danke nochmal...
     
  6. himitsu

    himitsu Well-Known Member

    Registriert seit:
    10. März 2011
    Beiträge:
    612
    Zustimmungen:
    0
    Nein, das Universalattribut class ist auch an einem A möglich.
    (praktisch überall, außer im base, basefont, head, html, meta, param, script, style und title)

    Man kann auch gern mal in add_adminbar schauen, was sich dort in den Meta-Attributen für den Link versteckt.
     
  7. aturo

    aturo Well-Known Member

    Registriert seit:
    26. Dezember 2012
    Beiträge:
    84
    Zustimmungen:
    0
    Was heißt mit add_adminbar? Wo kann ich Genaueres nachlesen? Oder meinst du eine Funktion über var_dump untersuchen?
     
  8. himitsu

    himitsu Well-Known Member

    Registriert seit:
    10. März 2011
    Beiträge:
    612
    Zustimmungen:
    0
    add_adminbar, bzw. add_menu, sind einfach nur Beispiele im WordPress, welche zeigen, daß es bei Links (A) ein Class-Attribut gibt, denn dort kann man dessen Inhalt übergeben.
    http://codex.wordpress.org/Class_Reference/WP_Admin_Bar/add_menu

    Ansonsten könnte man es auch dort nachlesen.
    http://de.selfhtml.org/html/attribute/allgemeine.htm
    http://de.selfhtml.org/html/referenz/attribute.htm#universalattribute

    Und wer es ganz genau wissen will, der schaut in die entsprechende HTML-Spezifikation.
    http://www.w3.org/TR/html401/index/attributes.html
     
    #8 himitsu, 21. Januar 2015
    Zuletzt bearbeitet: 21. Januar 2015
  9. pixselig

    pixselig Well-Known Member

    Registriert seit:
    8. Mai 2012
    Beiträge:
    2.294
    Zustimmungen:
    5
    Schön das du mich korrigierst!
    Allerdings hättest du dir ganze viel Links sparen können - einer hätte es auch getan ;)
    Ausserdem bringen diese Links den TE nicht wirklich weiter.

    @TE:
    Du hast das ganze ja schon gelöst, wenn auch nur mit jQuery.
    Für Widgets gibt es leider keinen Filter-Hook, allerdings kommt da in Zukunft etwas - in der 4.2 Alpha ist da schon etwas enthalten -> du könntest dann in Zukunft auf JS verzichten.
    Ausserdem kannst du, sollte es sich bei dem Widget um ein individuelles Menü handeln, einen custom nav walker erstellen -> http://codex.wordpress.org/Function_Reference/wp_nav_menu#Example
    Für Wordpress und Bootstrap gibt es sogar schon einen: https://github.com/twittem/wp-bootstrap-navwalker . Allerdings ist der für ein Headermenu, du könntest ihn aber als Ausgangspunkt nehmen und dur deine benötigten Klassen ersetzen. Dann noch ein eigenes Menüwidget Coden (geht schnell) und darin deinen eigenen nav_walker aufrufen, und du hast es ganz ohne JS.

    LG, pixselig
     
  10. himitsu

    himitsu Well-Known Member

    Registriert seit:
    10. März 2011
    Beiträge:
    612
    Zustimmungen:
    0
    Es gibt doch bestimmt irgendein Filter-Event, welches auch den Widgetinhalt bearbeiten lässt?


    Ansonsten wäre es eventuell möglich den gewünschen Style durch die übergeordneten HTML-Elemente zu setzen.
    Also das Unterelement "a" innerhalb des aside, ul oder li.

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Nur die Styles, welche direkt in <a class="..."> definiert sind, können damit nicht überschrieben werden.
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden