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

Wie kann ich in der header.php die Beitragsseite ansprechen?

Dieses Thema im Forum "Design" wurde erstellt von maariaa, 20. November 2016.

  1. maariaa

    maariaa Well-Known Member

    Registriert seit:
    11. Mai 2016
    Beiträge:
    53
    Zustimmungen:
    0
    Hallo erstmal, ich versuche seit gestern, eine Klasse anzusprechen. Allerdings soll die Klasse nur angesprochen werden, wenn es sich um die Beitragsseite handelt.


    Ich habe diesen Codeschnipsel ausprobiert, das funktioniert mit allen meinen Seiten.
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Wenn ich nun das 'Kontakt' auf 'Blog' (dies ist meine Beitragsseite) ändere, wird der Code nicht ausgeführt. Als würde 'Blog' nicht erkannt werden.

    Nun habe ich zu Testzwecken versucht eine andere Seite als Beitragsseite auszuwählen und bin draufgekommen, das es dann auf eben dieser Seite nicht mehr funktioniert. Das heißt also is_page erkennt die Beitragsseite nicht, sehr wohl aber alle anderen, oder? Ich denke, ich muss das ( is_page('Blog')) anpassen, könnt ihr mir sagen was ich anders machen muss?

    Der Link zur Seite: https://wp-site-blog.lima-city.de/?page_id=55

    Über Hilfe hierzu wäre sehr froh
    Liebe Grüße


    Edit: Ich möchte das gerne ohne Plugin realisieren, einfach aus dem Grund, weil ich mir vorgenommen habe wordpress zu lernen und den Hintergrund dieses Problems verstehen möchte
     
    #1 maariaa, 20. November 2016
    Zuletzt bearbeitet: 20. November 2016
  2. FlorianBrinkmann

    FlorianBrinkmann Well-Known Member

    Registriert seit:
    6. Oktober 2013
    Beiträge:
    390
    Zustimmungen:
    1
  3. maariaa

    maariaa Well-Known Member

    Registriert seit:
    11. Mai 2016
    Beiträge:
    53
    Zustimmungen:
    0
    Ich freu mich so, es klappt.
    Vielen, vielen Dank Florian :)
     
  4. Nevery

    Nevery Well-Known Member

    Registriert seit:
    15. Oktober 2013
    Beiträge:
    404
    Zustimmungen:
    0
    Um es grundsätzlich zu verstehen ist das kein schlechter Ansatz, aber für eine Liveseite würde es sich eher empfehlen, mit den vorhandenen CSS-Klassen zu arbeiten. Auch das ist übrigens ein Teil von "Wordpress lernen und verstehen", mit den Klassen umzugehen die bereitgestellt werden. Die Funktion dazu ist diese: https://developer.wordpress.org/reference/functions/body_class/ - wird bei Sydney schön auf "body" angewendet. Das wäre einfach etwas sauberer, als zusätzliche PHP-Abfragen mit reinzubringen.
     
  5. maariaa

    maariaa Well-Known Member

    Registriert seit:
    11. Mai 2016
    Beiträge:
    53
    Zustimmungen:
    0
    Dankeschön auch dir Nevery. Ich habe mir jetzt auch diese Methode angesehen, hätte aber noch eine Frage dazu. Auf diese Weise weist man dem Body eine Klasse zu, das funktioniert sehr gut. Und ich bin sehr dankbar wenn ich auch darauf hingewiesen werde was best-practice ist.

    Der Hintergrund für meine Frage ist, das ich die Sidebar nur auf der Blogseite anzeigen möchte. Das habe ich (auch wieder mit einer PHP-Abfrage) realisieren können. Den Code von FlorianBrinkmann habe ich mit einem ! umgedreht und dem .content-wrapper ausgenommen auf der Seite Blog eine Breite von 100% gegeben. Soweit - so gut :)

    Nun geht es mir aber generell darum, wie ich mit deinem Tipp umgehen sollte, wenn ich beispielsweise dem Body nur auf der Blogseite eine Klasse zuweisen möchte.

    Meinem Verständnis nach müsste ich dann aber folgende PHP-Abfrage machen.

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Andernfalls würde ich ja dem Body-Tag auf jeder Seite eine Klasse zuweisen. Somit habe ich aber wieder eine zusätzliche PHP-Abfrage, was ich ja gerne vermeiden möchte.

    Ich bin wirklich sehr neu in Wordpress, darum entschuldigt meine Anfängerfragen. Ich befürchte, das ich da jetzt völlig auf dem Schlauch stehe und etwas übersehe. Ich wäre sehr froh, wenn ihr mir nochmal einen Schubbs in die richtige Richtung geben könnt.

    Liebe Grüße
    maariaa
     
  6. maxe

    maxe Well-Known Member
    Ehrenmitglied

    Registriert seit:
    1. Mai 2008
    Beiträge:
    19.581
    Zustimmungen:
    277
    um den Body-Tag kommt keine IF Abfrage. WP ist so schlau und weißt dem Body dann immer die richtige Classe zu.

    Die Homepage bekommt dann z.B. body.home :

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Die Class .home bekommt keine andere Seite/kein anderer Post.
     
  7. Nevery

    Nevery Well-Known Member

    Registriert seit:
    15. Oktober 2013
    Beiträge:
    404
    Zustimmungen:
    0
    Du meinst, die Sidebar bei "Beiträgen" usw. anzeigen, aber bei "Seiten" nicht? Dafür verwendet man eigentlich entsprechende Seitentemplates, die garkeine Sidebar einblenden. Du kannst, wenn Du eine Seite erstellst oder bearbeitest, rechts das zu verwendende Seitentemplate auswählen.

    Die body_class wird - ganz korrekt - immer verwendet, aber was für eine CSS-Klasse dabei rauskommt ist eben verschieden.
    Du brauchst also keine Abfrage, wann Du diese Funktion anwendest, sondern schaust andersherum welche Klasse wann zugewiesen wird (z.B. "blog", "home", "page"...) und wendest darauf entsprechend Styles an.
     
  8. maariaa

    maariaa Well-Known Member

    Registriert seit:
    11. Mai 2016
    Beiträge:
    53
    Zustimmungen:
    0
    ... also genau umgekehrt, ich hatte da eine verdrehte Denkweise.

    Ich habe das jetzt, mit den von dir erwähnten, Seitentemplates gemacht. Den Tipp mit dem Klassenauslesen werde ich jedoch bestimmt für andere Sachen noch gut gebrauchen können. Danke :)
     
  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