Beiträge von LJay

    Hab die Funktion mal wie folgt geändert und nun bringt sie das gewünschte (jedenfalls für mich) Ergebnis.
    Wäre super wenn mir jemand sagt, ob das so konsequent ist oder ob da evtl. ne n Bug noch drin ist, der mir nur noch nicht aufgefallen ist.

    PHP
    function as_posts_where_filter4cats ($where) {
    	if( !(strpos($where, ' OR category_id') === false) ){
              $where = preg_replace('/(OR category_id = )([\d]*)/', '', $where);
    	}
        return $where;
    }
    
    
    add_filter('posts_where','as_posts_where_filter4cats');

    Bei mir hat die $where Clausel beim Aufruf der Hauptkategorie so ausgesehen;
    vorher:

    Code
    AND (category_nicename = 'news' OR category_id = 7 OR category_id = 9) AND post_date_gmt <= '2006-01-24 21:48:59' AND (post_status = "publish" OR post_author = 1 AND post_status != 'draft' AND post_status != 'static')


    nach der Bearbeitung durch die Funktion:

    Code
    AND (category_nicename = 'news' ) AND post_date_gmt <= '2006-01-24 21:48:59' AND (post_status = "publish" OR post_author = 1 AND post_status != 'draft' AND post_status != 'static')

    Die Kat. "news" war dabei die oberste Kat. und hat zwei SubCats. "7" und "9".
    Nun werden bei mir nur Posts aus der jeweilg selektierten Kat. angezeigt.

    hmmm die Funktion richtet bei mir keinerlei Veränderung an.
    Was mich sehr verwundert.

    Wenn ich den Code richtig interpretiere (wobei das RegExp mir zu hoch ist - war schon immer mein Fussnagel) wird die WHERE-Clausel nur verändert, wenn wir auf der Seite "single.php" oder im Archiv sind.

    Wenn ich aber im Menü (via wp_list_cats erstellt) auf eine Hauptkategorie klicke, lande ich auf einer seite die dann nicht berücksihtigt wird und somit werden wie bisher ALLE Beiträge der Kat. und SubKat angezeigt.

    Auch wenn ich die IF-Abfrage mal entferne, tut sich garkeine Veränderung bei mir auf?!
    Mach ich das was falsch? Versteh echt nur Bahnhof, wobei die Funktion auch in meinem aktuellen Fall recht nützlich wäre.

    Niemand einen Vorschlag?

    Zitat


    Problem : Adminpanel
    Auf der Seite "post.php" (Admin->Schreiben->Beitrag Schreiben) und an anderen Stellen gibt es ja die Auswahl der Kategorien im Rechten Bereich.

    Mein Wunsch ist, das man diese Auswahl etwas begrenzt. Und zwar sollen nur die Kategorien (Sub-Kategorien) der "default" Kategorie angezeigt werden.
    Wenn also als "default_categorie" die Kategorie "1" eingestellt ist, dann sollen im Adminpanel nur die Unterkategorien dieser Hauptkategorie "1" angezeigt werden.

    Hat jemand eine Lösung oder einen Ansatz, wie man das ohne Hacks bewerkstelligen könnte?

    Letztendliches Ziel ist es, das ich die default_categorie je Administrator/Benutzer festlege.
    So dass Admin X nur die Unterkategorien der Kat. "1" sieht,
    Admin C nur die Unterkat. der Kat "2" usw..

    Zitat von Arno Simon


    steht doch in der Description sowie diesem Thread ;)

    Zitat


    Filters Category's out of the Query-Where-Clause, not givven by the Category-Argument but added 'cause they are childs of the paged category

    Heisst für mich grob:
    Filtert Kat. raus, die nicht im Argument übergeben wurden ABER
    fügt sie hinzu, wenn sie ein "Kind" der angezeigten Kat. sind.

    Das ist für mich leider etwas unklar und verwirrend. WIe gesagt, mein englisch ist anscheinend nicht ausreichend dafür. ;)

    Hi.

    BTW @ Arno Simon
    http://forum.wordpress-deutschland.org/showpost.php?p=26803&postcount=5

    Was genau bewirkt dieses PlugIn? Konnte es nicht eindeutig erkennen - leider.

    Zum Thema:

    Problem : Adminpanel
    Auf der Seite "post.php" (Admin->Schreiben->Beitrag Schreiben) und an anderen Stellen gibt es ja die Auswahl der Kategorien im Rechten Bereich.

    Mein Wunsch ist, das man diese Auswahl etwas begrenzt. Und zwar sollen nur die Kategorien (Sub-Kategorien) der "default" Kategorie angezeigt werden.
    Wenn also als "default_categorie" die Kategorie "1" eingestellt ist, dann sollen im Adminpanel nur die Unterkategorien dieser Hauptkategorie "1" angezeigt werden.

    Hat jemand eine Lösung oder einen Ansatz, wie man das ohne Hacks bewerkstelligen könnte?

    Letztendliches Ziel ist es, das ich die default_categorie je Administrator/Benutzer festlege.
    So dass Admin X nur die Unterkategorien der Kat. "1" sieht,
    Admin C nur die Unterkat. der Kat "2" usw..

    Zitat von Arno Simon

    Welche vorhandene Möglichkeit!? WP bietet von Haus aus keine Möglichkeit Pages Kategorien zuzuordnen die von WP in der Standardausprägung genutzt würde!


    Naja wie gesagt, WP bietet zwar die Möglichkeit aber nur halb. Denn es speichert die Pages, wie du sagtest, wie Posts ab. Also mit einer Zuordnung zu einer Kategorie. Nur mit dem gravierenden Unterschied, das man bei Pages die Kategorie nich frei wählen und individuell verwenden kann.

    Zitat von Arno Simon


    Alles weitere sind Hacks und/oder Plugins, wobei ich von Hacks nicht allzuviel halte....


    Dem pflichte ich bei, daher soll es auch ohne Hack der WP-Files gehen und nur als echten PlugIn realisiert werden.

    Es wundert mich auch etwas, das es bisher kein anständiges Multilanguage-PlugIn gibt (jedenfalls keins gefunden).
    Zumal der Bedarf eindeutig vorhanden ist und nach aktuellem Stand nicht wirklich kompliziert zu realisieren ist.

    Ein XINHA4WP PlugIn zu coden ist da wohl ein paar Dimensionen drüber... ;)

    Zitat von Arno Simon

    Um die Seiten einer speziellen Kategorie zuzuordnen mußt Du die entsprechende Bearbeitungsfunktion erweitern. AFAIR gibt es dazu einen entsprechenden Action-Hook.


    Das muss ich noch machen, soweit bin ich noch nicht. Aber du hast Recht, das ich das AdminPanel erweitern muss.

    Zitat von Arno Simon


    Was das ersetzen der WP-Funktionen angeht: Dann mußt Du schon die entsprechenden Core-Files hacken und die WP-internen Funktionen durch umbenennen lahmlegen, dann kannst Du diese in Deinem PlugIn reimplementieren.

    Das will ich natürlich nicht, denn ich möchte das schon als "echtes" WP Plugin realisieren.
    Dann wohl doch lieber die TPLs anpassen.

    Hät ja aber sein können, das es möglich ist. Habe wohl die add_function und remove_functions missinterpretiert.

    Du nutzt doch sicherlich einen WYSIWYG Editor like "Xinha4wp" !?

    Wieso definierst du nicht einen Button der ähnlich dem FOrum-Code funktioniert.

    Im Post wird also dein "Code" in eigene TAGs "

    Code
    " und "

    " eingeschlossen. Bei der Ausgabe sorgst du nun dafür, das die TAGs durch z.B. nen "div" mit ner id "codeinpost" ersetzt werden.

    Im CSS sorgst du nun dafür, das dieser Code optisch als solcher hervorgehoben wird.

    Ggf. musst du evtl. noch dafür sorgen, das der Editor beim Erstellen des Posts nicht den Code verpfuscht was durch die "persönlichen" TAGs auch kein Schweres darstellen sollte...

    Zitat von Arno Simon

    nochmal: Da die Seiten in der gleichen Tabelle gehalten werden, wie die Posts, werden diese automatisch einer Standardkategorie zugeordnet! Generell laufen die Seiten aber ausserhalb des Kategorie-Managements! Dieses ist nur für die Posts zuständig!


    Ja das ist wohl so, aber muss ja nicht so bleiben! ;)
    Wieso vorhandene Möglichkeiten nicht auch gezielt nutzen?!

    Ziel ist es:
    WP "multilingual" aufzubauen.

    Dazu habe ich mir überlegt, wäre es das beste, wenn man Posts sowie Pages verschiedenen Kategorien zuordnen kann.
    Von Hause aus kann WP jeden Post einer beliebigen Kategorie aber jede Page nur einer bestimmten default Kategorie zuordnen.

    Wenn ich also dafür sorge, das man im AdminPanel durch das hinzufügen eines Auswahlfeldes für "Auswahl Kategorien", eine Page jeder beliebigen Kategorie zuordnen kann, habe ich bereits die komplette Unterteilung meiner Pages sowie Posts in Kategorien.

    Nun müsste ich also nur noch dafür sorgen, das diese bei der Ausgabe mit berücksichtigt werden.
    Dazu gehe ich also hin und sage z.B. wp_list_pages in einer modifizierten Funktion: "...gebe nur Pages aus, die Kategorie X zugeordnet sind...".

    Aktuell hab ich das bereits realisiert, allerdings halt nur durch eigene Funktionen die auch mit eigenem Namen im TPL aufgerufen werden müssen, was für mich aber "suboptimal" ist. ;)

    Bereits vorhanden sind nun mind. 2 Kategorien Namens "de" und "en" (weitere sollen folgen).
    Deutsche Posts ordne ich also immer unterhalb der Kategorie "de" und englische unter "en" an.
    Bei Pages muss dies noch erfolgen.

    Nun lese ich im WP mit die vom Benutzer bevorzugte Sprache aus dem Agent (hier als Bsp.: "de") aus und verwende diese als Default-Einstellung. Via Parameter kann diese aber auch geändert werden.(z.B. Flaggenauswahl)

    Im Plugin sorge ich bereits dafür, das WP auf die preferierte Sprache lokalisiert wird und die entsprechende *.mo eingelesen und verwendet wird.

    Im Sidebar TPL sorge ich dafür, das nur Posts der Kategorie "de" angezeigt werden.

    Und diese eigentlich simple Kategoriesierung wende ich auf allen weiteren Sites, wo es nötig ist, an.

    Um das ganze aber auch etwas freundlicher beim Wechsel von Themes zu gestalten, war nun mein Gedanke, das so zu bewerkstelligen, das WP nicht seine Core-Functions verwendet, sondern meine jeweiligen veränderten.

    Dabei scheitere ich halt beim Vorhaben, WP zu veranlassen, für bestimmte Aktionen nicht die eigenen Functions zu verwenden.
    Wäre halt so, als ob ich einen Filter ersetze, halt diesmal nur eine Funktion.

    Ideen?

    PS: Grund, das ich nen eigenes PlugIn dafür realisieren will, ist, das ich bisher keine auch nur ansatzweise vernünftige Lösung für gefunden habe.

    Grund für die Kategorisierung als Sprache-Unterteilung ist vor allem, das ich nich im Pages-Adminbereich eine ewig lange Liste von Pages haben will.
    Der Admin wird auch nur die für seine Sprache definierten Posts und Pages sehen! Stellt euch sonst mal vor, ein Admin hat im Pages-Admin eine lange List mit Pages (jeweils je Sprache) du einzig und allein durch "Überseiten" unterteilt sind. Dem deutschen Redakteur sind dabei doch die des englischen völlig schnurz. Zumal man nicht immer beabsichtigt, das der deutsche R. die vom englischen "sehen" und bearbeiten kann/darf.

    PS: kurz zu meiner bsicht noch:

    Ich möchte die Anzeige des gesamten WP so realisieren, das nur Pages und Beiträge einer bestimmten Kategorie angezeigt werden.

    Bei "wp_list_cats" geht das easy mit "child_of" allerdings nicht bei "wp_list_pages" und an anderen Stellen werd ich wohl auch noch ähnliche Fälle haben.

    Mich wundert auch, das dies bei WP nicht vorgesehen ist.
    Denn Ich kann Kategorien anlegen und ich kann eine davon auswählen, in die per default alle Pages zugeordnet werden. Konsequent wäre aber eine Auswahl der Kategorien für Pages. Und schlussfolgerichtig dann auch die Möglichkeit der Auswahl bei der Anzeige.

    PPS: Es wird WP 1.5.2 eingesetzt!

    Hi.

    Ich möchte mir ein PlugIn schreiben, in dem ich allerdings eine eigene Funktion für die Ausgabe der Pages (normal: wp_list_pages) erstellt habe.
    Durch manipulation des Quelltextes nicht sicher realisierbar, daher benötigte ich eine komplette neue Funktion.
    Nun möchte ich aber das Plugin anweisen, meine Funktion anstelle der orginalen zu bentuzen.
    Leider kommte ich mir remove_function und add_function nicht wirklich weiter.

    Ziel ist es, das template nicht auf den Namen der neuen Funktion ändern zu müssen.
    Im TPL soll weiterhin "wp_list_pages" aufgerufen werden können.
    Nur das eben bei aktiviertem Plugin meine Funktion verwendet wird.

    Funktion heisst "ml_wp_list_pages"
    Probiert hab ichs nun u.a. mit:
    <code>
    remove_action('wp_list_pages', 'wp_list_pages');
    add_action('wp_list_pages', 'ml_wp_list_pages');
    </code>

    Das sieht mir schon nicht wirklich korrekt aus, da "wp_list_pages" wohl kaum ein Filter ist. Allerdings konnte ich bisher nirgends (auch nich im codex) eine Lösung finden. Muss allerdings gestehen, das ich der englischen Sprache nicht unbedingt sicher bin und evtl. auch was überlesen habe.
    Ggf. hab ich bisher auch nur mit den falschen Schlagwörtern gesucht.

    Kennt jemand eine Lösung für mein Prob?

    dem rewritemod im htaccess bin ich leider auch nicht so mächtig, aber es müsste doch möglich sein, einen Var und WERT aus der URL via rewriterule herauszufiltern, damit WP keine Probs damit hat.

    Kennt sich da jemand besser aus?

    domain.tld/service/sessionname=sessionid

    das sollte doch irgendwie per rewriterule rauszufiltern gehen?!

    Zitat

    Also sämtlichen Code der mit Sessions zu tun hat mal kurz auslagern, includen und testen


    Werd ich die Tage auch mal ausprobieren.
    Danke schonmal.

    Zitat


    Das ist übrigens keine Lösung für dein URL Problem - nur für die Sessions.


    Ja leider, denn bevor das nicht gelöst ist, werd ich auch keine Sessions verarbeiten können.

    Aber es ist ja meist so, das man die Probleme an hinten an löst und nicht der Reihe nach. ;)

    ruhig Blut ;)

    Natürlich werden bei den URLs dann auch korrekte Status-Codes abgeliefert.

    Eine URL á la "domain.tld/heute-hast-du-geburtstag.htm" kann ganz simpel vom webserver als "php"-file deklariert werden.
    Somit kann ich via PHP einen dynamischen Inhalt der Seite erstellen, der z.B. aus ne DB kommt.

    Evtl. hab ich mich unklar ausgedrückt oder du hast mich nur falsch verstanden, aber das was du ansprichst, ist keines Falls Tatsache.

    Zumal ich ganz gut Bescheid weiss, im Umgang mit SEs und meine Seiten auch danach optimiere.

    danke schonmal für den Tip... bevor ich wieder ewig Stunden in Luft investiere (sry hab grad viel um die Ohren)...
    Wenn ich etwas per PHP-Include include, hab ich doch auch nur ein php-code im WP-code.
    Könnte ihn also auch direkt ins WP schreiben.

    Ich will ja nicht wissen, wie eigenen Code in WP bekomme, sondern eher wie man Code-conform dieses Session-Problem beheben kann.

    Würde WP nicht gleich streiken, sobald ein unbekannter Parameter in der URL hängt, wäre alles gerizt.

    BTW:
    Das permalinks gefällt mir auch absolut nicht, schon garnicht wie htaccess.
    Es wird für dieses modrewrite viel zu viel overhead erzeugt, der u.a. auch viel zu viel Abarbeitungszeit verursacht. (meine aktuelle Meinung)

    Dies bezüglich, finde ich die SEO-URL-Lösung von osCommerce z.B. sehr gut.
    Dort wird die URI durch eine simple PHP-Funktion zerlegt.
    Nach einem ganz simplem Prinzip: /VAR/WERT/VAR/WERT
    Auf WP angewandt käme solch ein Bsp. heraus
    http://www.teamspeak3-server.de/index.php/page…ate/2005-10-26/
    Der Seite "index.php" wären dabei die Vars "page"="news" und "date"="2005-10-26" übergeben werden.

    Reicht einem solch ein SEO nicht aus, wäre für mich der nächste Schritt das umwandeln in "fake" HTML-File á la
    http://www.teamspeak3-server.de/news_2005_10_26_headline.html

    Bei beiden Varianten gäbe is keinerlei Probleme mit zusätzlichen Variablen, wie z.B. Sessions.

    Sei es drum...
    Kann man davon ausgehen, das man das aktuelle Problem schon als einen Bug ansehen könnte? Dann wäre es was fürs Bug-reporting?!

    dpoisspine:
    Falls ich das mit include in Zusammenhang mit WP evtl. nicht ganz erfasst habe, so beschreibe mir die Methode doch pls etwas genauer.
    (Bin noch WP-Neuling und immo er der "Nörgler" ;) )

    weitere URL Parameter verarbeiten

    Hi all.

    Vorweg: ich bin noch recht frisch im Thema WordPress.
    Bisher würde ich behaupten wollen, das ich in PHP recht fit bin, allerdings noch von der alten Schule. ;)

    Daher hab ich es immo echt schwer, mich im WordPress Code durchzufuxen.
    Leider finde ich immo keinen echten Ansatz die gewünschten Infos und Stellen im Core code zu finden um daraufhin ein Plugin zu coden.

    Die Docs habe ich auch bereits durchforstet - ohne Ergebnis.
    -------

    Es geht um 2 Dinge:
    1. Wenn man Permalinks benutzt, darf man niemals einen Parameter oder "String" an die URL ranhängen, den WP nicht kennt, da sonst eine Fehlerseite kommt.
    Dies finde ich etwas zu konsequent umgesetzt.
    Wünschenswert wäre es, wenn die unbekannten Parameter einfach ignoriert würden.
    Beispiel:
    OK -> http://doku.wordpress-deutschland.org/FAQs_und_Hilfe/
    NICHT OK -> http://doku.wordpress-deutschland.org/FAQs_und_Hilfe/irgendwas/string

    Besser wäre, es würde die Seite, die er ermitteln konnte angezeigt und die letzten beiden Werte "irgendwas" und "string" würden ignoriert.
    ----------------------------

    2. (ergänzt 1. teilweise)
    Ich möchte von einer anderen Seite (Shop) aus (gleicher Server) direkt ins Wordpress verlinken.
    Dabei soll eine Session-ID mit übergeben werden.
    Diese Session muss im WP aber erhalten bleiben, oder zumindest die ID "mitgeschleift" werden.

    Im WP gibt es nämlich einen Link, der wieder auf die andere Seite (Shop) verlinkt.

    Wird dabei nicht die letzte Session mit übergeben, gehen dem Kunden alle Daten aus der Session verloren.

    Fall-Beispiel:
    - Kunde legt im Shop etwas in Warenkorb
    - klickt nun auf WP-Link zu Infoseite mit Versandinfos
    - landet im WP
    - liest sich text durch
    - klickt auf shop-link
    - landet im Shop
    Nun ist aber die Session verloren und der Kunde müsste wieder neuanfangen.

    Noch viel wichtiger solcher Parameter ist es, beim Affiliate-Tracking.
    Durch den zwischenzeitlichen Besuch im WP gehen alle Infos verloren, woher der Kunde ursprünglich kam.

    -------------
    Kennt irgendjemand ein Plugin oder Workaround oder Ansatz, dieses Problem zu lösen?

    Leider ist es wirklich so, das dieses Problem ein Entschidungskriterium ist, ob ich WP weiterhin einsetzen kann oder nicht.
    Da der Ansatz von WP aber durchaus gut ist, wäre es schade darauf zu verzichten. ;)