[Prob gelöst]Seitentemplate - einezelne Posts?

  • [Prob besteht]Seitentemplate - einezelne Posts?

    Ich habe mir in der Navigation die Punkte Destkops, Tutorials und Artworks erstellt und diese dann auf "Seiten" verlinkt. Wie ist es möglich das ich darin die jeweiligen Tuts, Desks und Artworks "bloggen" kann, aber diese Artikel nur unter jeweiligen Menüpunkt zu finden sind???

    Also wenn ich z.B. einen neuen Desktop zeigen möchte will ich nicht die "Seite editieren" sondern einen neuen Beitrag schreiben der aber nur unter Desktops zu sehen ist.

    Jemand vielleicht eine Idee?

    --> http://www.benijamino.de

    Einmal editiert, zuletzt von Benijamino (27. Februar 2006 um 07:59)

    • 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

  • Hi,
    dazu mal ein theoretischer Ansatz - dazu ist eben ein wenig Template-Arbeit notwendig.
    Ich würde so vorgehen, daß ich dazu passende Blog-Kategorien einrichten würde(Beispielsweise Destkops(1), Tutorials(2) und Artworks(3)).
    Jetzt kannst Du diese Kategorien im Seitentemplate(index.php) ausblenden, in dem Du Deine Posts-Query anpasst:
    beispielsweise so:

    HTML
    query_posts('cat=-1,-2,-3');


    Mit einem Minus-Zeichen vor der Cat-ID werden die entsprechenden Kategorien im Blog ausgeblendet und nur Beiträge aus den übrigen Kategorien angezeigt.
    So, um nun die Beiträge auf den einzelnen Seiten anzuzeigen baust Du ein Loop in Dein Seiten-Template ein(page.php). Hier musst Du eine Verbindung von Seiten-ID oder Name auf die Kategorien-ID herstellen. Evtl. mit einer Switch, oder IF-Schleife.
    $PageID = 1 <-> $CatID = 1
    Beim Auslesen der gewünschten Blog-Einträge auf der Seite erstellst Du wiederum eine Query, in welcher gezielt die zugeordnete Kategorie der aktuellen Seite aufgerufen wird:

    HTML
    query_posts('cat='.$CatID.'&showposts=10');


    Alles ein theoretischer Ansatz und ich weiß auch nicht 100Pro, ob die Syntax jetzt absolut korrekt ist, aber so auf diese Art würde ich mal ansetzen.
    Die Codex-Seiten von Wordpress bringen dich da sicherlich auch sehr schnell weiter:
    http://codex.wordpress.org/
    http://codex.wordpress.org/The_Loop

    Gruß,
    Marc :-)

  • Erstmal danke für deine Antwort. ... die Theorie hört sich ja schonmal logisch an. ... aber an der Umsetzung wird es hapern. Coden ist nicht gerade meins. Falls mir jemand dabei helfen kann oder einen anderen Lösungsweg hat bitte melden.

  • Zitat von Benijamino

    Erstmal danke für deine Antwort. ... die Theorie hört sich ja schonmal logisch an. ... aber an der Umsetzung wird es hapern. Coden ist nicht gerade meins. Falls mir jemand dabei helfen kann oder einen anderen Lösungsweg hat bitte melden.

    der Lösungweg für nicht Coder ist einfach.

    erstelle nur Kategorien --verlinke diese nicht auf statische Seiten --

    öffne die sidebar.php
    und nutze den template tag

    <?php wp_list_cats('sort_column=name&sort_order=DESC&use_desc_for_title=0'); ?>

    beim Anklicken der dann erscheinenden Kategorienamen sieht man nur die Beiträge dieser Kategorie,
    weil dann das template archive.php aufgerufen wird.

    der Weg über statische Seiten ist kompliziert und ich gebe zu, ich kapier nicht ganz wozu Du dies so machen magst?

    lg

  • Danke für deine Antwort, aber ich verstehe Sie leider nicht ganz. Könntest du mir es vielleicht an einem konkret an einem Beispiel für z.B. die Kategorie Tutorials erläutern?

    Außerdem habe ich keine archive.php und keine sidebar.php mehr ... steht alles in meiner index.php

  • ich sehe doch auf Deinem Blog eine Kategorie Tutorial

    und ich sehe oben horizontal ebenfalls Tutorial

    oben ist eine statische Seite, die Du immer editiern musst.

    links in der sidebar ist eine Kategorie.

    wenn ich Dich recht versteh magst Du, dass oben dies genauso funktioniert wie in den Kategorien, die Du in der sidebar hast.

    ist das richtig,
    wenn ja , dann erkläre ich erst, sonst tippsle ich und Du magst ganz was anders.

    ob Du so eine archive .php hast oder nicht,
    ist egal;)

    lg

  • Ich will in dem Menüpunkten quasi genau so bloggen können wie auf der Startseite unter "Blog". Also muss ich die Kategorie "Tutorials" auf der "Blog" Seite ausblenden und nur unter dem Punkt "Tutorials" einblenden. ... Du hast mich also richtig verstanden :D

    Jetzt bin ich auf der Erläuterung gespannt :D

  • Zitat von Benijamino

    Ich will in dem Menüpunkten quasi genau so bloggen können wie auf der Startseite unter "Blog". Also muss ich die Kategorie "Tutorials" auf der "Blog" Seite ausblenden und nur unter dem Punkt "Tutorials" einblenden. ... Du hast mich also richtig verstanden :D

    Jetzt bin ich auf der Erläuterung gespannt :D

    Du hast zweimal Tutorials,

    das wo Du bloggen kannst magst Du behalten,


    1. Admincenter==>Verwaltung==>Seiten
    nachsehen welche ID die statische Seite *Tutorial hat*

    und merken ;)

    2. Admincenter==>Verwaltung==>Kategorien
    nachsehen welche ID die Kategorie Tutorial hat

    und merken...


    Du sagtest Du hast nur eine index.php ,
    wenn da keine header.php ist,
    dann öffne die index.php und suche nach :
    wp_list_pages
    oder zumindest das Menü wo das obige Tutorial verlinkt ist.

    ist das obige Menü mit
    wp_list_pages angezeigt dann blenden wir jetzt die statische Seite Tutorial aus.

    Sagen wir die statische Seite Tutorial hat die ID 6

    <?php wp_list_pages('exclude=6'); ?>

    wenn da vorher noch was dabeistand dann musst Du es so machen

    <?php wp_list_pages('exclude=6& der andere code'); ?>

    wenn diese statische Seite sowieso 'nur' als link dort war, dann verlinke dort zur Kategorie Tutorial

    <a href="meinedomain.de/category/tutorial" title=" ....">Tutorial</a>

    als Beispiel.

    Jetzt hast Du die Kategorie oben im Menü UND in der Sidebar.

    magst Du sie aus der sidebar haben dann suche nach

    wp_list_cats

    ändere dort den Code so, dass Du jetzt die Kategorie Tutorial ausschließt (exclude)

    <?php wp_list_cats('sort_column=name&optioncount=1&exclude=6'); ?>

    kann sein, dass da vorher was anders stand,
    vielleich sort_column=id oder so, hinten dran gehört das exclude


    +++++++++++
    jetzt ist die Kategorie oben,
    auf der Seite weg
    aber die Beiträge der statischen Seite sind nicht sichtbar...

    entweder kopierst Du sie in normale Beiträge,
    und speicherst sie mit dem Veröffentlichungsdatum ab,

    oder Du verzichtest darauf :-)

    lg

  • nochmal ne zusätzliche Frage. ... wenn ich das soweit gemacht habe, hab ich ja auf den Seiten:

    Desktops
    Tutorials
    Artworks

    noch immer meine Seitenleiste. Wenn ich die nun aber auf diesen Seiten gerne ausblenden würde. und den Contentbereich dafür etwas erweitern müsste wie mach ich das dann da?
    Ist das so überhaupt möglich?

  • Hab das mit exclude hinbekommen. Da ich 3 Kategorien habe die ich auf der Hauptseite nicht angezeigt haben will habe ich das so geschrieben:

    <?php wp_list_cats('sort_column=name&optioncount=1&exclude=11,12,13'); ?>

    Die Kategorien werden in der Sidebar auch nicht angezeigt, allerdings sind die Beiträge dieser Kategorien trotzdem auf der Hauptseite zu sehen. Wie kann ich das verhindern? ... oder hab ich was falsch gemacht?

  • nein
    hast Du nicht, das war schon Mal Spitze !

    jetzt geben wir den Befehl, dass die Beiträge nicht angezeigt werden.

    (ich nehme aber an, dass Du bald mehr tempplates für Dein theme brauchst,
    das ist keine Hexerei, aber das das alles nur in der index.php geht glaube ich nicht)

    probieren geht über studieren...

    öffne die index.php

    und suche

    <?php while (have_posts()) : the_post(); ?>

    gleich darunter tippst Du:

    <?php if ( !(in_category('11,12,13')) ) { ?><!--sperrt artikel -->

    darunter kommt der ganze Code, der die jeweiligen Artikeln anzeigt

    nach
    <!--<?php trackback_rdf(); ?>-->
    </div>

    machst Du das obige "if" wieder zu..

    <?php } ?> <!-- Close the if statement. -->


    da WordPress eine template Hierarchie hat und die index.php die Scheffin davon ist, nimmt WordPress wenn kein anderes template da ist immer die index.php,

    Du schließt jetzt Beiträge aus...

    rufst ein Auchiv auf...ein Jahr , einen Monat oder so..
    gibt es keine
    archive.php
    nimmt WP wieder die index.php...
    da sind aber jetzt Kategorien ausgeschlossen,

    ich denke, die werden bei einem 1Template Theme dann gar nie angezeigt,

    aber ich habe es nicht ausprobiert...

    sollte dem so sein, zeige ich Dir dann wie man so eine archive.php macht, dass sie passt...

    hat Dein Theme eine header.php?
    eine footer.php....
    eine sidebar.php.....
    das frage ich , wegen des *`Content* breiter machens....


    lg

  • So habs ausprobiert. Aber es funktioniert nicht. Der Code sieht folgerndermaßen aus:

  • <?php trackback_rdf(); ?>
    -->
    <?php } ?> <!-- Close the if statement. -->
    </div>

    das zumachen des if steht falsch,


    <?php trackback_rdf(); ?>
    -->
    </div>

    <?php } ?> <!-- Close the if statement. -->

    kommen Fehler oder werden die Beiträge denoch angezeigt?

    lg

  • So habs geändert ... aber das Problem besteht immer noch.

    So sieht es jetzt aus:

    Einmal editiert, zuletzt von Benijamino (20. Februar 2006 um 16:49)

  • ??
    ich bin verwirrt--zugebe,

    <?php get_header(); ?>

    <div id="artikel">

    <?php if (have_posts()) : ?>

    <?php while (have_posts()) : the_post(); ?>
    <?php if ( !(in_category('3')) ) { ?><!--sperrt artikel -->

    <div class="cont" id="post-alles was ich fr die anzeige des contents brauche

    </div>
    <!--<?php trackback_rdf(); ?>--></div>

    <?php endwhile; ?>


    <?php else : ?>

    <div class="cont"><br /><h2><small>÷</small>Leider nichts gefunden.<small>÷</small></h2>
    <p >.....!</p>
    <br /></div>

    <?php endif; ?>
    </div> <!--artikel end-->
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>


    so siehts bei mir in der index.php aus
    und das funktioniert auch in wp 2.01

    ich stehe an, wieso bei Dir nicht.....

    lg

Jetzt mitmachen!

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