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

per function Klassen ein-/ ausblenden lassen für verschiedene Ansichten

Dieses Thema im Forum "Design" wurde erstellt von katharinahermann, 4. Dezember 2015.

Schlagworte:
  1. katharinahermann

    Registriert seit:
    5. Oktober 2015
    Beiträge:
    23
    Zustimmungen:
    0
    Hallo liebe Gemeinde,

    wieder einmal die Katharina.

    Folgendes: Ich nutze ein Umfragen PlugIn welches in der Sidebar angezeigt wird. Das Layout wurde per css an das theme angepasst und alles ist schön und funktioniert.

    Problem: Ich möchte ein Umfragenarchiv anlegen was alle Umfragen darstellt. Ich möchte nur nicht das alle Umfragen so formatiert sind wie in der Sidebar, sprich mit Bildchen, Linien etc. Das PlugIn ist in 3 Bereiche aufgebaut. Header/Body/Footer. Im Header ist ein Bildchen, im Body der Inhalt und im Footer die Buttons.

    Nun will ich aber nicht das in dem Archiv das gleiche "lang gezogene" Layout angezeigt und schon gar nicht die Bildchen im Header da es sonst das Archiv visuell "überlädt".

    Jetzt habe ich die drei Bereiche vom PlugIn jeweils mit einer zweiten identischen Klasse versehen die lediglich den Zusatz "-a" für Archiv am Ende hat

    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    und diese neuen CSS-Regeln nach Bedarf formatiert wie ich die gerne hätte im Archiv. Sprich ohne Bild, etwas kleiner in der Schrift, nicht alle Buttons etc..

    Nun das eigentliche Problem.

    Wie kann ich per function eine Zuweisung machen das die Klassen mit dem Zusatz "-a" z.Bsp. poll-a li für Poll-Listenansicht der Fragen, nur auf der Seite der Archivseiten-ID angezeigt werden und in der Sidebar ausgeblendet werden und andersrum een das in der Sidebar nur "poll" Klassen angezeigt werden?

    Beispiel:
    Das PlugIn wird per Shortcode [poll-ID1] angesprochen, jetzt soll es auf der Archivseite (ID35) nur Klassen mit den Zusatz "-a" verwenden und anzeigen und in der Sidebar (global ohne ID - sprcih "sidebar") nur die normalen klassen verwenden und anzeigen.

    Ich würde es gerne mit

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    lösen, aber ich weiß nicht wie. Wie kann ich per function das bewerkstelligen das "Klasse=Poll" in der Sidebar angezeigt werden und "Klasse=Poll-a" auf der seite mit der ID35?

    Lieben Dank schon einmal und wenn etwas nicht verstanden wurde, einfach nachfragen.

    Liebe Grüße
    Katharina
     
    #1 katharinahermann, 4. Dezember 2015
    Zuletzt bearbeitet: 4. Dezember 2015
  2. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Das machst Du besser über spezifischere Regeln anstatt mit zusätzlichen Klassen.

    Beispiel für die Sidebar:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Für eine normale Seite hingegen:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Oder ein Archiv
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  3. katharinahermann

    Registriert seit:
    5. Oktober 2015
    Beiträge:
    23
    Zustimmungen:
    0
    Hallo mensmaximus :),

    ich versuche das mal so hinzukommen und gebe auf alle Fälle Bescheid. Ich verstehe das so das nach "{ ..." die Pünktchen meine css-regeln für .sidebar (ohne -a) und .main (mit -a) sein sollen. Ist das richtig?

    Vielen Dank erst einmal, ich versuche es so zu lösen.
    Liebe Grüße
    Katharina
     
  4. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Wenn man Deinen ursprünglichen Gedankengang zugrundelegt ist das richtig.
     
  5. katharinahermann

    Registriert seit:
    5. Oktober 2015
    Beiträge:
    23
    Zustimmungen:
    0
    mensmaximus,

    leider funktioniert das so nicht. Ich habe es anhand eines grellen Backgroundes versucht . . .

    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    aber es wird in der Seite sowie in der Sidebar der rote Hintergrund angezeigt. :( Was nun?
     
  6. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Ohne Link zu Seite kann ich das nicht sagen.
     
  7. katharinahermann

    Registriert seit:
    5. Oktober 2015
    Beiträge:
    23
    Zustimmungen:
    0
    Die Seite ist noch im Wartungsmodus wegen der brisanten Thematik, ich könnte dir einen Gast-LogIn schicken um sie aufzurufen und zu prüfen. Wohin?
     
  8. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Sorry, aber meine Hilfe beschränkt sich auf das öffentliche Forum.
     
  9. katharinahermann

    Registriert seit:
    5. Oktober 2015
    Beiträge:
    23
    Zustimmungen:
    0
    Kein Problem, trotzdem vielen Dank für deine Mühe.

    Liebe Grüße
     
  10. helix

    helix Well-Known Member

    Registriert seit:
    28. Juli 2011
    Beiträge:
    1.808
    Zustimmungen:
    27
    Irgendwo ist ein Fehler. Entweder vor „main“ noch ein Punkt, wenn .main eine Klasse innerhalb eines Elements mit der Klasse .page ist.
    Probiers mal damit.

    Kann auch sein, dass die Klasse .page überflüssig ist, wenn auch die Sidebar in einem Element mit der Klasse .page steckt.

    Also probiere:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Oder:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Gruß
    helix
     
  11. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    In den meisten modernen Themes ist main keine Klasse sondern ein HTML Element (wie div, span usw.)
     
  12. katharinahermann

    Registriert seit:
    5. Oktober 2015
    Beiträge:
    23
    Zustimmungen:
    0
    Hallo helix,

    ich habe es jetzt noch einmal durchprobiert und deine vermutung war richtig. Es gibt ein Problem mit Main und Sidebar.

    Bei
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    reagiert die Sidebar ebenfalls, sollte aber nicht so sein. Das muss wohl am Theme liegen, nur finde ich nicht wo ich das ändern kann zumal ich nicht einmal weiß wo ich suchen muss. :(

    Also wäre doch das beste das über eine custom-function zu erledigen oder den Fehler im Theme zu finden so das .sidebar nicht mit .main zusammen reagiert. :(

    Liebe Grüße
    Katharina
     
    #12 katharinahermann, 4. Dezember 2015
    Zuletzt bearbeitet: 4. Dezember 2015
  13. helix

    helix Well-Known Member

    Registriert seit:
    28. Juli 2011
    Beiträge:
    1.808
    Zustimmungen:
    27
    Äh ja, stimmt. Das hatte ich da gerade nicht auf dem Schirm, dass „main“ auch zu den Buchstabenkombinationen gehört, die es auch als html-Element gibt …

    Als „Fehler“ im Theme kannst du das eigentlich nicht bezeichnen.

    Wir können halt nur raten, wie deine Elemente ineinander verschachtelt sein könnten und welches Element wie bezeichnet ist, evtl. welche ID oder welche Klasse hat. Du hast den Quelltext vorliegen und kannst einfach nachsehen.

    Evtl. kriegst du das konkrete Problem, dass .wp-polls auf die Definition in .main ebenfalls reagiert, schon durch einfaches Umdrehen in den Griff. .main müsstest du dann auch weglassen können.
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    => Nach dem Prinzip, dass a) die nachfolgende Anweisung die Anweisung zuvor überschreibt. Und dass b) die konkretere Anweisung die allgemeinere Anweisung überschreibt.
    CSS heißt Cascading Style Sheets, weil man auf diese Art Elemente unter verschiedenen Bedingungen verschieden auszeichnen kann.

    => Heißt: Mach dir ein Schema, in welchen Elementen mit welchen IDs oder Klassen liegen deine polls, wie kannst du sie der Reihe nach ansprechen und definieren.

    Gruß
    helix
     
  14. katharinahermann

    Registriert seit:
    5. Oktober 2015
    Beiträge:
    23
    Zustimmungen:
    0
    Allen ein liebes Danke. ich habe das Problem gelöst indem ich alle Elemente in einem separaten DIV-Container gepackt habe und diesen separat benannte per Klasse. Somit konnte ich alles extra ansprechen.

    Achso, bei meinem theme heißt die Sidebar-klasse .mh-sidebar, das war auch noch ein Problem was ich nicht sofort gesehen hatte. Ich war wohl zu lange am Monitor und der Wald war kleiner wie die bäume...:)

    Vielen lieben Dank, Thema kann geschlossen werden.

    Liebe Grüße
    Katharina
     
    #14 katharinahermann, 5. Dezember 2015
    Zuletzt bearbeitet: 5. Dezember 2015
  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