1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

verschachtelte Arrays in einfache umwandeln

Dieses Thema im Forum "Konfiguration" wurde erstellt von gr4ck, 30. Oktober 2010.

  1. gr4ck

    gr4ck New Member

    Registriert seit:
    13. Juni 2009
    Beiträge:
    3
    Zustimmungen:
    0
    Hi Wordpressteam,

    ich sitze gerade an meiner lokalen Wordpress-Seite und versuche mit PHP Datenbankeinträge abzufragen und da hab' ich ein Problem, vermutlich weil ein waschechter Noob bin^^.

    Aber zuerst: Was ich überhaupt erreichen möchte.

    Ich habe ein Menü in der Sidebar, was ganz schlicht erstmal so aufgebaut ist:
    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Jetzt möchte ich einen Code schreiben, der überprüft, ob überhaupt veröffentliche Artikel bzw. veröffentliche Seiten in der Datenbank vorhanden sind. Wenn "TRUE" soll er das entsprechende Menue einblenden, wenn "FALSE" soll er das entsprechende Menü ausblenden.

    Um das zu bewerkstelligen muss ich eine Datenbankabfrage mit php schreiben und da ist eben der Harken...Leider

    Ich habe schon den SQL-Code fertig geschrieben, nun habe ich das Problem dieses in ein php-tauglichen Array zu umzusetzten.
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Wenn ich das in die SQL Komandozeile von PhpMyadmin einfüge funktioniert das einwandfrei.

    Nun will ich das ja in meinen Php-code einfügen, damit der Webserver den Array, der mir da ausgegeben wird, weiterverarbeiten kann und zwar beispielsweise im folgenden Format:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Und mein armesliger Versuch in Php sieht so aus:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Die Ausgabe aus dem PHP-CODE lautet dann leider:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Danach wollte ich mit in_array("post/page",$published_posts); weiterarbeiten, um zu prüfen, ob in dem Array "post" oder "page" als Elemente vorhanden sind und demenstprechend weitere Anweisungen folgen lassen.

    Ich möchte nun von den Profis wissen, ob es vielleicht einen viel einfacheren PHP-Code für meine Zwecke gibt oder wie ich dieses Array vielleicht in mein gewünschtes Array-Format umwandeln lassen kann oder jedenfalls ein Tip, der mir da weiterhelfen könnte.

    Ich hoffe, ich konnte Euch mein Probleme verständlich darlegen.

    Dank im Voraus für Eure Antwort!

    Gr4ck
     
    #1 gr4ck, 30. Oktober 2010
    Zuletzt bearbeitet: 30. Oktober 2010
  2. Ammaletu

    Ammaletu Well-Known Member
    Ehrenmitglied

    Registriert seit:
    14. Juli 2007
    Beiträge:
    4.696
    Zustimmungen:
    0
    Ich denke, das ist die Stelle, wo Du gedanklich falsch abgebogen bist. ;) Manuelle SQL-Queries abzusetzen sollte immer ein allerletztes Mittel sein. Wann immer möglich solltest Du mit der WP-API arbeiten, das hält länger und birgt weniger Gefahren.

    In Deinem Fall solltest Du Dir Funktionen wie query_posts anschauen, siehe dazu den Codex: http://codex.wordpress.org/Function_Reference/query_posts
     
  3. gr4ck

    gr4ck New Member

    Registriert seit:
    13. Juni 2009
    Beiträge:
    3
    Zustimmungen:
    0
    Hi,
    Danke für die Antwort,

    ich habe es mal mit query_post(); mal versucht!
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    So mein $a enthält jetzt sozusagen alle Daten der Rows, in dennen der post_status=publish ist.
    Und mein Problem besteht weiterhin... anscheint weil ich mit arrays eher wenig auskenne.
    Aber hier erstmal das, was mir der Browser ausgibt:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Aber nun möchte ich der query_post(); i-welche parameter geben, die mir mein gewünschtes Array-Format ausgibt oder möchte aus $a mein gewünschtes Array-Format erzeugen lassen.
    Es würde mir auch reichen, zu wissen, wie ich aus $a den Wert von [post_type] in eine Variable einlesen lassen kann. Doch wie mach ich das?

    Hoffe mal Euch nervt mein Low-Level-Knowledge nicht....... :(.

    Dank im Voraus,

    Gr4ck
     
  4. gr4ck

    gr4ck New Member

    Registriert seit:
    13. Juni 2009
    Beiträge:
    3
    Zustimmungen:
    0
    Gelöst: Verschachtelte Arrays in einfache umwandeln

    Hi WP-Team,

    so ich habe mein Problem gelöst!!!
    Und damit andere, die vielleicht den gleichen Gedankengang hatten wie ich, hier nicht auf der Strecke bleiben, will die Lösung mal hier aufschreiben:

    Ich habe einfach mit Hilfe von
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    mir ausgeben lassen wie oft ein Eintrag mit post_type=post gibt, der den post_status= publish hat. Analog dazu habe ich das dann auch für post_type=page geschrieben:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!

    Anschließend ist es sehr simpel mit einer if-clause abzufragen, ob das gleich null ist...

    Man staunt wie einfach eigentlich WP funktioniert und das obwohl ich noob bin!!! :mrgreen::mrgreen:

    Danke für die Hilfe,

    Gr4ck
     
  5. Ammaletu

    Ammaletu Well-Known Member
    Ehrenmitglied

    Registriert seit:
    14. Juli 2007
    Beiträge:
    4.696
    Zustimmungen:
    0
    Freut mich, dass das geklappt hat. Schau im Zweifelsfall immer zuerst in den Codex nach brauchbaren Methoden, WP bietet schon sehr viel an API. Da kommt man relativ weit mit. ;)
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden