Beiträge von lomtas

    Ich habe ein Problem, vielleicht kennt ihr die Antwort. Ich erstelle gerade ein Plugin bei welchem ich mit AJAX arbeiten möchte. Die Aktionen sollen also über einen JavaScriptaufruf einer PHP-Datei im Background in einer Datenbank gespeichert werden. In der Plugin-PHP-Datei erstelle ich die Formularfelder, die alle ein onClick oder onChange oder so bekommen, halt dass sie bei einer Änderung eine JavaScript Funktion aufrufen. In der JS-Datei möchte ich dann per HTTP-Request die veränderten Daten an eine PHP-Datei weiterleiten, welche diese dann in der Datenbank speichert.

    Vom Prinzip her habe ich das bereits öfter gemacht, aber halt nicht in Verbindung mit einem WordPress Plugin. Da die PHP-Datei über JS-nachgeladen wird, stehen erst einmal sämtliche Wordpress Funktionen nicht zur Verfügung. Außerdem ist keine Datenbankverbindung vorhanden. Um diese Umstände zu ändern gibt es sicherlich irgendeine Datei, die man nachladen muss und schon stehen alle Wordpressfunktionen zur Verfügung, oder? Ich weiß nur nicht, welche Datei das sein soll... Kann mir jemand helfen? Gibt es eine solche Datei?

    Ich möchte bei Wordpress bei einer bestimmten URL selber etwas ausgeben. Also wenn ich jetzt folgende URL habe: http://www.eineurl.de/wordpress/meinwort/eintag möchte ich gerne die ausgabe verändern. Wordpress soll dann keinen 404er anzeigen, weil es die seite meinwort nicht gibt, sondern auf eine von mir erstellte php zurück greifen und eintag übergeben. versteht ihr, was ich meine? wie mache ich das? momentan gibt wordpress einfach nur aus, dass es die seite nicht finden kann.

    Etwas spärlich deine Infos.

    Schon in der Doku nachgeschaut?

    Ich würde dir gerne mehr sagen, nur was willst du noch wissen? Ich suche den Filter, mit dem man die SQL Abfragen verändern kann, die gemacht werden wenn ich wp_list_categories und wp_get_archives ausführe. Für das anzeigen von posts habe ich diese Filter gefunden:

    add_filter('posts_join','lio_postsjoin');
    add_filter('posts_where','lio_postswhere');


    gleiches Suche ich jetzt wie oben genannt. Mein Problem: Mit dem Plugin kann man für jeden Beitrag und jede Seite festlegen, ob sie für alle Besucher oder nur für eingeloggte Besucher sichtbar sein soll. Dies wird auch schon ganz gut beim anzeigen umgesetzt. Leider kann ich das einzigen der Kategorien noch nicht beeinflussen. So werden halt auch Kategorien angezeigt, zu denen nur versteckte Beiträge vorhanden sind. Ruft man diese auf, führt das zu einem 404er. Live kann man das bei you(th) believe » Startseite beobachten. Dort setze ich das Plugin ein. Im Blog gibt es zwei Beiträge. Einer sichtbar, einer versteckt. Vielleicht wird damit klarer, was ich suche.

    Jeriko: getarchives_where werde ich mir anschauen. vielen dank. Die Liste verändern bringt leider nichts. Dann müsste ich mir sie schon neu holen. aber danke für den hinweis. Interessant übrigens, dass getarchives_where und getarchives_join nicht im codex beschrieben sind.

    Ich möchte gerne die Abfrage der Kategorien beeinflussen. Leider finde ich nirgends einen entsprechenden Filter. Kann mir vielleicht jemand dabei helfen? Konkret geht es um die Abfragen die ausgeführt werden wenn ich folgende Funktionen aufrufe:

    wp_get_archives()
    wp_list_categories()

    Die Veränderung ist notwendig, da bei meinem Plugin (Thomas Lippert » Logged-In-Only) ansonsten auch die Kategorien angezeigt werden, in denen sich nur versteckte Beiträge befinden. Außerdem passt die Anzahl der Beiträge ansonsten nicht. Würde mich sehr freuen wenn mir dabei jemand helfen könnte, denn ehrlich gesagt habe ich keine Zeit diese umfangreichen Funktionen komplett noch mal zu programmieren. Ich hoffe es gibt dafür einen Filter.

    WordPress ist standardmäßig so eingestellt, dass es mit dem Blog startet. Weil ich Wordpress nun auch für kleine Homepages (nichts Blogs, aber mit Blog) einsetzen möchte, wird eine andere Seite als Startseite ausgewählt und der Blog auf eine festgelegte Seite (Page) gelegt. Dies ist alles in Wordpress möglich.

    Nun habe ich folgendes Problem: Ich liste die Seiten im Template mit wp_list_pages() und bekomme damit alle Seiten, auch die des Blogs. Wenn ich navigiere bekommt die jeweils aktuelle Seite die css-class current_page_item zugewiesen. Das funktioniert für alle außer der von mir festgelegten Seite für den Blog.

    Mögliche Lösung: Blog nicht mit wp_list_pages() listen, sondern mit exclude ausschließen und händisch dazupacken. Problem: Der Menüpunkt muss an den Anfang oder das Ende der Navigation. Da er aber in der Mitte der Navigation sein soll suche ich nun nach einer Möglichkeit auch dem Menüpunkt Blog wenn aktiv ein current_page_item mitzugeben.

    Ich hoffe das Problem war verständlich und jemand kennt eine Lösung?

    Ich habe mein Plugin nun fast fertig. Es ermöglicht, dass man bestimmte Beiträge oder Seite nur eingeloggten Usern zeigen kann. Dies funktioniert auch für den RSS Feed. Gerne hätte ich aber eine Möglichkeit den Feedreadern zu zeigen, wann neue einträge nur eingeloggt sichtbar sind, z.B. mit einem Standardeintrag im Feed like: "Ein neuer geschützter Beitrag. Bitte einloggen um zu lesen". Kann man das mit Wordpress irgendwie handeln?

    Da mir beim letzten Mal irgendwie nicht geholfen werden konnte, versuche ich hier noch einmal, mein Problem zu beschreiben und hoffe, dass das hilft:

    Ich habe mir eine Box gebaut, in der der Benuzter auswählen kann, ob ein Beitrag für alle sichtbar sein soll, oder lediglich für eingeloggte Besucher:

    PHP
    /*Make new Box on the right sidebar of the postpage*/
    function lio_adm_SidebarBox(){
      echo '<fieldset id="visible" class="dbx-box">
                <h3 class="dbx-handle">Sichtbarkeit</h3>
                <div class="dbx-content">
                              <input type="radio" name="loggedinonly" value="0" style="margin-bottom: -3px;" checked="checked"> F&uuml;r alle sichtbar<br>
                              <input type="radio" name="loggedinonly" value="1" style="margin-bottom: -3px;"> Nur eingeloggt sichtbar
                            </div>
            </fieldset>';
    }

    Das Feld wird angezeigt und man kann seine auswahl treffen. Wenn der Beitrag gespeichert wird, versuche ich meine Variable auch in meiner Tabelle zu speichern:

    Leider ist die Variable $_POST['onlyloggedin'] leer, also immer 0, egal welche Auswahl ich treffe. Meine Funktion habe ich folgendermaßen integriert (bisher):

    PHP
    add_action('publish_post','lio_adm_SavePost');
    add_action('edit_post','lio_adm_SavePost');
    add_action('save_post','lio_adm_SavePost');


    Muss ich da was anders machen? Habe ich irgendwo einen Denkfehler? Ich komme echt nicht weiter an dieser Stelle...

    Super - genau das habe ich gesucht. Vielen Dank.

    Jetzt muss ich nur die Zusatzinformationen auch in der Datenbank speichern. Welchen Filter kann ich dazu nutzen? Habe gerade mal wieder den Codex ohne Erfolg durchsucht. Wo kann ich auf das schreiben des Beitrags in die Datenbank eingreifen?

    [edit]: Ich habe jetzt die Funktion gefunden meine ich (publish_post) aber ich kann auf meinen neuen Wert nicht über $_POST['feldname'] zugreifen... Jetzt frage ich mich, wie ich sonst auf meinen neuen Wert zugreife?

    Ich würde gerne im Backend zu den bestehenden Einstellmöglichkeiten für Beiträge meine eigene hinzufügen. Ich meine dieses Menü auf der rechten Seite beim Schreiben von Beiträgen (zur Verdeutlichung Screenshot im Anhang). Gibt es eine Möglichkeit über irgendwelche Actionshooks da noch was dran zu hängen? Ich habe jetzt ne Stunde im Codex gesucht, aber nichts gefunden. Vielleicht weiß das jemand?

    die könnte aber auch jedes andere plugin nutzen, oder? also komme ich mir evtl. mit einem anderen plugin in die gehege... Ich habe jetzt gerade versucht, das Plugin zu beginnen, aber ich scheitere dabei, dass meine Tabelle nicht erstellt wird:


    Irgendwie wird die Funktion nicht beim aktivieren ausgeführt. Was ist falsch?

    Nur mal theoretisch: Wenn ich so was entwickeln möchte, muss ich ja in der Datenbank einen Wert speichern, der dem Artikel zugeordnet ist. Über diesen weiß ich dann, ob für alle sichtbar, oder nur eingeloggt.

    Jetzt die Frage: Speichere ich diesen Wert zusätzlich in der Tabelle wo eh schon die Beiträge drin sind, also durch Modifikation der vorhandenen Tabelle, oder ist davon abzuraten und man sollte lieber eine eigene Tabelle anlegen, in der z.B. die BeitragsID gespeichert ist und dann ob für alle oder nur eingeloggt?

    Mich würde eure Meinung dazu interessieren.

    Ist es möglich einen eigenen post_type zu nutzen? In der Datenbank werden alle Posts gespeichert. Die Posts als post_type post, die Seiten als post_type page. Für ein Kalenderplugin würde ich gerne die gleiche engine nutzen, nur dass die Beiträge halt also post_type calender gespeichert werden. Ist diese Idee abwegig, oder möglich?