Home und Front-Page unterscheiden

  • Hey,

    ich arbeite an einem Theme für einen Sportverein. Hier habe ich ein Portal erstellt, in dem auch die neusten drei News ausgegeben werden.

    Das nervige ist, dass dadurch die Seite, obwohl sie nur diese drei Nachrichten beinhaltet, als "Home"-Seite, also Blogseite gehandelt wird, während ich dafür eine extra Seite eingerichtet habe.

    Das ist insofern wichtig, weil ich das Widget-Logic Plugin verwende, und alles was mit "is_home() -- just the main blog page" makiert ist, auch auf der Startseite, und nicht nur auf der Blogseite ausgegeben wird (z.B. eine Übersicht der Kategorien).

    Wie kann ich den Ausgabecode so verändern, dass das Theme weiß, das es sich hier um die Front-Page und nicht Blogpage handelt?

    • 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

  • es gibt unterschiede zwischen front-page und home. Für beides kannst du eigene Templates anlegen front-page.php und home.php, welche WP dann autom. erkennt. Oder du arbeitest mit den Conditional-Tags is_front_page() oder is_home().

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

  • Hi maxe,

    danke für die Tipps. Leider bin ich mir dessen bereits bewusst und habe eine front-page.php für die Startseite zugewiesen. Sobald ich aber is_home() für ein Widget ausgebe erscheint dieses auch auf der Startseite, nicht nur auf der Blogseite. Hier liegt ja irgendwie mein Problem, der Blog differenziert nicht richtig. Ich vermute, dass es mit der Ausgabe (s.o.) zusammenhängt, oder kann das nicht sein und es sollte eigentlich nur von den templates abhängig sein?

    Ein bisschen nebenher: Wie kann man denn zwei Bedingungen eingeben? Sowas wie "!is_home und is_front_page"

  • Hey,

    danke für den Hinweis. Ich habe danach gegooglet, und in den Erklärungen scheint das super einfach.

    PHP
    is_page("volleyball")
    PHP
    global $post; return (in_array(133,get_post_ancestors($post)));


    Die beiden möchte ich zum Beispiel verbinden. Die ganzen tutorials machen das recht einfach mit "and" "or" und "!". Widget_Logic sagt "||" für oder und "&&" für und.

    Als Beispiel wird folgendes geführt:

    PHP
    global $post; return (is_page('home') || ($post->post_parent=="13"));


    Wahrscheinlich, weil ich zu wenig Grundverständnis von dem Syntax habe, wird mir nicht klar, wie ich das auf das o.g. Beispiel anwende. Beides folgendes gibt mir Syntaxfehler:

    PHP
    global $post; return (in_array(133,get_post_ancestors($post))); || is_page("volleyball")
    global $post; return (in_array(133,get_post_ancestors($post))); and is_page("volleyball")
  • Sorry, ich kann meinen Post nicht editieren. Ich habs gelöst:

    PHP
    global $post; return (in_array(133,get_post_ancestors($post)) || is_page("volleyball"));

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!