Beiträge von pufaxx

    ... also das Fold-Category-PlugIn hab ich irgendwann mal angepasst, als es WordPress 2.1 noch nicht gab - und die älteren Versionen kennen die "Klassifizierung" mit "current-cat-parent" nicht.

    Dass nur die Artikel aus einer bestimmten Kategorie gezeigt werden, ist ohnehin so. Sonst bräuchte man ja gar keine Kategorien-Navigation ... Jetzt müsste man bloß dafür sorgen, dass auf der Startseite nicht die neuesten Artikel angezeigt werden - sondern eben die aus der Kategorie, die man gerne als Start-Kategorie definiert hätte.

    Das ist "Systembedingt" - Statische Seiten sind statische Seiten, die hängen nicht in einer "Kalenderlogik" drin und die haben keine Kategorien, so dass es auch keine nächste bzw. vorherige Seite geben kann.

    "Blättern" oder ähnliches ist nur bei "Beiträgen" sinnvoll.

    ... dann ist das Beste wirklich der Weg über das Stylesheet.

    Wenn WordPress Kategorien (hierarchisch) ausgibt, dann hast Du irgendwie sowas:

    Also eine Liste mit lauter Unterlisten. Und alle Unterlisten-Punkte werden angezeigt. Was Du ja nicht willst. Aber glücklicherweise kannst Du im Stylesheet bestimmen, dass #Dings ul { display: none } ist, also unsichtbar. Demnach stehen die Unterkategorien zwar im Quelltext, man kann sie jedoch nicht sehen.

    Wenn jetzt Kategorie zwei aktiv ist, dann sieht der Quelltext, den WordPress ausgibt, in etwa so aus:

    Und damit hast Du schon, was Du willst: Wenn Du jetzt im Stylesheet festlegst, dass #Dings li.current-cat ul { display: block } ist, dann bleiben die anderen Unterlisten weiterhin unsichtbar - aber die Unterpunkte der aktiven Kategorie sind quasi ausgeklappt.

    Und dann gibt's ja noch die dritte Möglichkeit, Kategorie 2.2 ist aktiv.

    Dann sieht datt Janze ungefähr SO aus:

    ... also eigentlich ist ein PlugIn zum "Kategorien ausklappen" unnötig ...

    :-)

    Fold Category (weiß grad nicht, ich glaub, da gibt's auch mehrere PlugIns) funktioniert mit WP > 2.1 ... Beziehungsweise sagen wir mal so: Ich hab's damit jedenfalls zum Laufen gekriegt, allerdings weiß ich nicht so genau, ob das auch standardmäßig damit läuft, weil ich vorm Upgrade schon so ein paar andere Sachen dran geändert hatte. Zum Beispiel, dass die "aktive" Kategorie noch "anklickbar" bleibt oder dass die Liste passend "ausgeklappt" bleibt, wenn man ein einzelnes Posting anguckt, das innerhalb einer der Unterkategorien einsortiert ist ...

    Aber auch ohne das PlugIn kann man (jedenfalls optisch) genau das selbe Ergebnis hinbekommen, indem man im Stylesheet die "Unterlisten" auf display: none setzt - und alle Listen innerhalb von "current-cat" bzw. "current-cat-parent" einfach wieder anzeigt.


    Das mit "CategoryOrder"

    Au weia. Ohne diesen Beitrag hätte ich gar nicht gemerkt, dass das Ding ja gar nicht mehr funktioniert. Dank Dir für den Hinweis ... Also da werd ich mir die Tage auf jeden Fall noch etwas einfallen lassen müssen ... - Aber vielleicht gibt's bis dahin ja auch schon ein update ...?

    :-)


    Nachtrag: My Category Order funktioniert DOCH ... Nur nicht mehr in vollem Umfang. Grundsätzlich tut das PlugIn noch seinen Job, nur die Administration klappt nicht so wirklich.

    Also

    OberKat
    - Unterkat1
    - Unterkat2

    Wenn nur in "Unterkat1" und "Unterkat2" Postings enthalten sind, diese aber nicht zusätzlich noch ein Häkchen bei "OberKat" haben, dann taucht die "OberKat" im ... Reihenfolge-Bearbeiten-Menü nicht auf. Daher sind dann auch "Unterkat1" sowie "Unterkat2" weder erreichbar noch "änderbar". Aber ansonsten würde es funktionieren.

    An der Kernfunktion braucht man dann also nichts zu tun - und nach einem Upgrade sollten die Kategorien auch weiterhin ihre dermaleinst neu festgelegte Reihenfolge behalten ... Jetzt fehlt halt eine Anpassung des Admin-Bereiches. Und jetzt wundert mich auch nicht mehr, dass ich das "nicht Funktionieren" bisher nicht bemerkt habe, denn bei mir gibt es keine leeren Oberkategorien. Da funktioniert auch alles.

    Aber bei so einer Projekt-Baustelle klappt's tatsächlich nicht.

    Nur mit einem "Trick": Schreib ein Posting, das in ALLEN Kategorien einsortiert ist. Und das war's schon. Dann kannst Du Deine Kategorien wie gewohnt sortieren. Und wenn Du fertig bist mit sortieren, dann setz das Posting wieder auf Status "Entwurf". Zugegeben, das ist eine ziemliche schräge "Krücke" - aber es funktioklappt.

    Hm ... Naja - Viel verpasst hast Du jedenfalls nicht.

    :-)

    Wie sieht es denn mit den anderen "Editor-Knöpfen" aus?

    Bei abgeschaltetem Editor gibt's ja auch ein paar Buttons, z.B. für "Listenpunkt" oder "Link einfügen" (siehe Screenshot, und denk Dir den IImage-Browser Knopf weg)

    Okay, wenn TinyMCE in deinem Benutzerprofil aktiviert ist, aber (aus irgendeinem Grund) nicht angezeigt werden kann, dann siehst Du GAR keine Buttons. Aber wenn der ausgeschaltet ist, dann müsste eben dieser Standard-Satz zu sehen sein.

    Die funktionieren bei Dir aber schon ...? Weil ... wenn die AUCH nicht angezeigt werden, dann hab ich (ausgehend von Windows als Betriebssystem) keine andere Idee, als dass Du eventuell JavaScript abgeschaltet hast ...?

    ... die Bildadresse stimmt auch nicht. Mach mal aus dem großen "P" ein kleines "p" - Und wenn Du nächstes Mal Bildordner hochlädst - Am Besten von Anfang an keine Sonderzeichen, keine Leerzeichen und keine Großbuchstaben benutzen. Unterstrich, Zahlen und Minus sind aber erlaubt.

    :-)

    jo - aber ob das SO wirklich dauerhaft sauber läuft ...?

    Welche PlugIns sind's denn, auf die Du nicht verzichten magst? Weil ... WP2.1 ändert dann doch ein paar mehr Sachen in der Struktur, als "bloß" Pages und Posts zusammenzulegen ...

    ... Interesse? "ImageToPage"-PlugIn ...?

    Ich würd's anders machen:

    Wenn Du ein "Page Template" anlegst, hast Du das Problem, dass Du dieses "Page Template" dann jeder Seite zuweisen musst, für die es gelten soll. Also wenn das Merkmal von "Unterseiten" beispielsweise ist, dass "Unterseiten" kein Menü auf der Seite haben sollen, dann müsstest Du (wenn Du die Seite vielleicht mal wieder in der Hierarchie nach oben verschiebst) auch wieder das "normale" Template auswählen.

    Wäre praktischer abzufragen, ob die jeweilige Seite eine Mutterseite hat. Wenn ja, dann KEINE Sidebar anzeigen, wenn nein, dann muss es eine Seite der "ersten Ebene" sein, also dann Sidebar anzeigen.

    PHP
    <?php if ($posts[0]->page_parent == 0) { get_sidebar(); } ?>

    Für die Anzeige von unterschiedlichen Bildern je Seite gibt's verschiedene Möglichkeiten. Eine ist, im Theme lauter Bedingungen zu schreiben. Wenn Seite bla, dann Bild "bla.jpg", wenn Seite dings, dann Bild "dings.jpg" ... ansonsten Bild "standard.jpg" - Wenn Du nicht allzu viele verschiedene Bilder hast, ist das die einfachste Möglichkeit.

    Eine andere Möglichkeit sind die "benutzerdefinierten Felder" - Mit denen kann man einzelnen Seiten oder Beiträgen weitere Daten als nur den Inhalt "mitzugeben" ... Wenn Du also festlegst, dass beim Aufruf einer Seite immer abgefragt werden soll, was im Feld "Head_Image" hinterlegt ist, kannst Du auch damit jeder Seite ein eigenes Bild zuteilen.

    Dazu musst Du aber natürlich den Dateinamen oder am besten gleich die komplette Adresse des Bildes kennen ...

    Jo ...

    Ansonsten vielleicht noch ein bisschen abwarten, bis ich das hier (siehe angehängten Screenshot) als "öffentliche Version" fertig habe ... Sorry für den Weichzeichner, aber die Seite ist vom Kunden noch nicht freigegeben ...

    Jedenfalls macht das PlugIn Folgendes:

    1) Beim Schreiben einer Seite oder eines Beitrages hat man ein Auswahl-Menü, das einem alle hochgeladenen Bilder auflistet. Davon eins auswählen - und das ist dann das "TopImage" für die Seite. Dem "Theme" ist damit also die Adresse eines Bildes "bekannt"
    2) Wie, ob und (wenn ja) an welcher Stelle man diese Bild dann anzeigt, muss man dann im Theme selbst bestimmen.
    3) Wenn man für eine Seite KEIN Bild ausgewählt hat, macht das auch nichts - die Anzeige läuft ohnehin rekursiv, es wird dann das TopImage der nächst höheren Seite angezeigt.
    4) Also wenn Du z.B. eine Oberseite "Info und Kontakt" hast, die meinetwegen einen Briefumschlag zeigen soll - dann müsstest Du für die Unterseite "So erreichen Sie uns" und "Unsere Support-Adresse" (oder was auch immer) nicht noch mal extra neu den Briefumschlag auswählen ...
    5) Hält dich aber keiner davon ab, auch für die Unterseiten (und die Unter-Unter-Seiten) jeweils ein eigenes Bild zu bestimmen.

    Ein kleines Manko hat die Geschichte allerdings noch: Es werden NUR die Bilder erkannt und aufgelistet, die man über die WordPress-Upload-Funktion hochgeladen hat. Für die Leute, die ihre Bilder anders verwalten, müsste ich mir noch etwas einfallen lassen.

    Vermutlich wird das für die dann auch mit den Thumbnails im Auswahlmenü nicht so ohne Weiteres klappen ...

    Okay, also falls allgemeines Interesse dran besteht - kümmer ich mich drum, wenn ich wieder büschn mehr Zeit hab.

    Meinst Du dieses PlugIn? Fold Category List ...?

    Ja richtig. Das Teil hat so einige Macken. Jedenfalls in der Version, mit der ich mich ebenfalls herumgeärgert habe. Ich hab's inzwischen aber so umgeschrieben, dass ...

    1) ... es funktioniert,
    2) ... es nicht irgendwelche komischen "eigenen" Styles bei einer aktiven Kategorie einfügt
    3) ... die aktive Kategorie immer noch "klickbar" lässt, denn ich find's total unpraktisch, wenn man nur über den "Zurück"-Button im Browser wieder zur "Mutterkategorie" wechselt.
    4) ... die Mutterkategorie "ausgeklappt" ist, wenn man ein Posting in einer "Tochterkategorie" anguckt. Auch wenn dieses Posting kein Häkchen bei der Mutterkategorie hat ... (WordPress macht da ja einen Unterschied, der nicht unbedingt für jeden sinnvoll ist ...)

    "Meine" Version kann ich Dir (sorry) aber nicht direkt im jetzigen Status schicken, denn das war mal wieder so eine "Hier-klapptnicht-da-Änderung"-Geschichte für ein konkretes Projekt - und das Flickschusterei-Gefummel dürfte SO ziemlich sicher nicht für jedes WordPress Blog funktionieren ...

    Was aber (modifiziert oder nicht modifiziert) vermutlich so bleiben wird - Das Ding erhöht die Anzahl der Datenbank-Abfragen teilweise wirklich immens. Ich würde empfehlen, den ganzen Ausgabe-Block in einen zentralen Return-Befehl zu wandeln und den zu cachen ...

    .
    .
    .

    Aber wie wäre es mit dem einfacheren Weg?

    Es dürfte sehr viel weniger Performance kosten, wenn man die Geschichte über CSS angeht. Denn eigentlich wäre es schlauer (und vor allem einfacher), den Status "ausgeklappt" oder "nicht ausgeklappt" über das Stylesheet festzulegen.

    WordPress liefert einem dazu ja schon alles, was man braucht. Zwar würden dann auch alle "eingeklappten Kategorien" im Quelltext erscheinen. Aber nachdem eh nur Suchmaschinen (oder Webdesigner) bei anderen Leuten in den Quelltext gucken ... kann einem das ja beinahe egal sein ...

    :-)

    --> Man könnte z.B. festlegen: "alle Unter-Listen in dem-und-dem Menü - display: none, alle Unter-Listen innerhalb von current-cat oder current-cat-parent: block" - Somit wären Subkategorien grundsätzlich unsichtbar, es sei denn, die "Mutterkategorie" ist aktiv. Läuft optisch auf das selbe hinaus - und man braucht kein PlugIn mehr ...

    Hatte nach dem Upgrade auf WP 2.2 das selbe Problem ... Also falls bei Dir das PlugIn "Update Monitor" aktiviert ist: Ausschalten. Und dann ging's wieder.

    Es kann aber auch gut sein, dass es ein paar andere PlugIns gibt, die (ab Version 2.2) den Aufbau vom Tiny MCE irgendwie stören. ...

    Hauptunterschied zwischen Posts und Pages ist ...

    Eine Page erzeugt einen Menüpunkt.
    Ein Post nicht.

    Dafür kann ein Post eine Kategorie haben - oder auch mehrere. Ebenso können mehrere Posts in einer Ansicht ausgegeben werden, wenn's ein paar mehr sind, gibt's normalerweise diese vor- und zurückblättern-Links

    Navigation Posts: Mehrere Varianten. Du kannst einmal Deine Kategorien auflisten. Und je nach Auswahl werden dann nur die Posts aus der jeweiligen Kategorie ausgegeben. Aber Posts haben ja auch noch ein Datum - Damit werden sie auch in die "Kalenderlogik" eingetragen. Somit kannst Du also nicht nur Deine Posts aus der Kategorie "Borkenkäfer und ihre Fortpflanzung" auf einmal anzeigen lassen, sondern (Kategorie übergreifend) auch alles Beiträge aus dem Monat Januar 2003 ... oder so.

    Pages: Ohne "Getrickse" (das natürlich möglich ist) kann nur der Inhalt einer einzigen Page auf einmal ausgegeben werden.

    --> Also: Wie man das "Verhältnis" gewichtet - das ist Geschmackssache und natürlich in erster Linie abhängig von den Inhalten, die man zeigen will.
    --> Empfehlenswert finde ich eine Unterteilung zwischen statischen Inhalten und beispielsweise einem "News"-Bereich oder so.
    --> Ist alles ein bisschen "sperrig" zum erklären, vielleicht einfach mal live angucken. Gibt sicher auch andere Beispiele, aber auf meiner Seite hab ich's auch so gemacht - Die besteht vorwiegend aus Pages - und der "dynamische, datums-abhängige" Bereich (mit Posts) ist unter "Tipps und Tricks" zu finden

    Es sind natürlich auch "gemischte" Varianten möglich - beispielsweise könnte man festlegen, dass zusätzlich zur Seite A auch noch die neuesten 5 Beiträge aus Kategorie blablabla gezeigt werden - Das entspricht aber nicht mehr dem üblichen Einsatz von WordPress und wird nicht ohne Einsatz zusätzlicher PlugIns oder ein etwas aufwändigeres Theme funktionieren.

    "Funktionieren" tut immer ne ganze Menge. Und "vereinfachen" lässt sich immer mindestens ebenso viel. Nur meistens ist "nicht elegant, aber funktioniert" im Endeffekt eleganter als "elegant, aber funktioniert nicht richtig". Meine bescheidene Meinung,

    :-)

    Ach so!

    Also die statischen Seiten SOLLTEN auch mit gelistet werden. Ich hab die Geschichte ursprünglich auch für Auftritte gebastelt, die vorwiegend aus "Seiten" bestehen und eventuell irgendwo einen Blog-Bereich mit "Beiträgen" haben. Wie z.B. auf meiner Seite ... (Da verwende ich auch hauptsächlich "Pages", der Bereich "Tipps & Tricks" besteht aber aus "Beiträgen" ...)

    --> Der Status jetzt ist demnach für alphabetische Indizes, mit denen ALLE Inhalte sortiert werden sollen
    --> Wenn du nur deine Blog-Postings alphabetisch listen möchtest, dann muss die Zeile (ausgehend von Version 0.2b) 36 bis 40 entsprechend angepasst werden.

    WordPress (ab >2.1) unterscheidet zwischen Seiten und Postings durch den Eintrag im Feld "post_type".

    --> Probier mal ...

    Code
    $sql = 	"SELECT post_title, ID
    		FROM $wpdb->posts
    		WHERE (post_status = 'publish'
    		AND post_type = 'post'
    		AND post_password ='')"

    Damit fällt alles mit dem post_type = 'page' raus.

    Jetzt frag ich mich nur, warum Du das so haben willst ... Wenn die Pages mit gelistet werden, findet man z.B. das Impressum unter "I" und "Kontakt" unter "K" und so weiter ...?

    :-)

    Najut, aber wäre auf jeden Fall schon mal ein "ToDo" für das (in Arbeit befindliche) Admin-Menü, dass man sich da halt ein bisschen näher aussuchen kann, was alles im Index berücksichtigt werden soll.

    Ach ja - Falls Du Fehler gefunden hast und so - Kannst Du mir das bitte lieber als "Kommentar" zu meinem Blog-Beitrag schreiben? Ich hab die ganzen Infos lieber "auf einem Haufen".

    Ist nicht nur für mich praktischer, sondern vermutlich auch für die Leute, die sich eine der Beta-Versionen runtergeladen haben und bei denen irgendetwas auch noch nicht so recht funktionieren mag ...

    Thank U

    :-)

    Das wundert mich... Im PlugIn steht eindeutig drin:

    Code
    WHERE (post_status = 'publish' OR post_status = 'static' AND post_password ='')";

    Da fällt mir als "Fehlerquelle" nur ein nicht aktualisierter Cache ein. Das sollte eigentlich in den Zeilen

    Code
    add_action('publish_page', 'wp_cache_flush');
    add_action('publish_post', 'wp_cache_flush');
    add_action('edit_post', 'wp_cache_flush');
    add_action('delete_post', 'wp_cache_flush');
    add_action('save_post', 'wp_cache_flush');
    add_action('private_to_published', 'wp_cache_flush');

    geregelt sein.

    Ich hatte gehofft, damit alle "Änderungen" abgedekct zu haben. Dank Dir jedenfalls für den Hinweis ... Kannst Du mal bitte (und jetzt müsste es klappen)

    a) die Version 0.2b vom AlphaIndex installieren
    b) entweder Deinen Ordner "wp-content/cache" löschen (sofern vorhanden) oder aber (ist praktischer) dieses PlugIn installieren?

    Mit dem WP CacheInspect kannst Du den Cache nämlich per Knopfdruck löschen und muss nicht über FTP reingehen.

    .
    .
    .

    Schiet - Wahrscheinlich noch ein Dateifitzel von der Version für WordPress unterhalb von 2.1 ...

    Lösch mal das hier raus:

    Code
    OR post_status = 'static'

    *grübel*

    Ja, das kann schuld sein. Jetzt werden ja alle "veröffentlichten" Beiträge und Seiten gezeigt - Zusätzlich auch noch alle, die "static" sind. Das könnten dann auch unveröffentlichte Dinger (Seiten, nicht Postings) sein ...?

    Was für eine WordPress-Version läuft denn bei Dir?

    .
    .
    .

    Auf jeden Fall schon mal dicken Dank für's Testen. Man selbst hat ja nicht immer die Möglichkeit (oder es ist ein ziemlicher Aufstand) ALLE Kombinationen miteinander durchzuspielen ... Da verlass ich mich eben auf die Mitarbeit derjenigen, die meinen Kram haben wollen.

    :-)

    Ich benutze ihn selbst zwar nicht - aber wer ihn nutzen möchte bzw. ihn für seine Kunden braucht:

    Einige PlugIns scheinen den Aufbau vom TinyMCE zu stören. Woran das liegt, hab ich noch nicht herausbekommen. Jedenfalls stand ich heute vor genau diesem Problem - und nachdem ich das PlugIn "Update Monitor" deaktiviert hatte - war alles wieder in Ordnung.

    ... das mit den Permalinks ist so eine Art "Regelwerk", wie die Adresszeile im Browser "übersetzt" wird, so dass man "schönere" Adressen hinkriegen kann.

    Das hat einige Vorteile für Suchmaschinen, weil Links à la "deineseite.de/index.php?page_id=123" normalerweise nicht so gut positioniert werden wie "deineseite.de/impressum" ... Nur ist das zu Webspace nötig, der "mod_rewrite" beherrscht.

    Aber man kann auch ohne mod_rewrite "besser merkbare" (und besser auffindbare) Links konstruieren ...

    Und ein bisschen besser klappt >>das hier, wenn danach die Suche nicht mehr funktionieren sollte.