Beiträge von gr4ck

    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
    [LEFT]

    PHP
    wp_count_posts('post')->publish;

    [/LEFT]
    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:
    [LEFT]

    PHP
    wp_count_posts('page')->publish

    [/LEFT]

    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

    Hi,
    Danke für die Antwort,

    ich habe es mal mit query_post(); mal versucht!

    PHP
    <?php
    $a = query_posts('post_status=publish');
    print_r($a);
    ?>

    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
    Array([0]=>stdClass Object(...[page_status]=publish [post_type]=>post ...)
          [1]=>stdClass Object(...[page_status]=publish [post_type]=>page ...)
           ...
          [3]=>stdClass Object(...[page_status]=publish [post_type]=>post ...)
         )

    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

    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
    <div class="supermenue" id="post">                         
             <p class="supermenue">Artikel</p>    
       </div>  
       <div class="supermenue" id="page">
             <p class="supermenue">Seiten</p> 
       </div>

    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.

    SQL
    SELECT DISTINCT post_type 
    FROM wp_posts 
    WHERE post_status = 'publish'

    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
    Array ( [0] => page      
            [1] => post  
            )

    Und mein armesliger Versuch in Php sieht so aus:

    PHP
    <?php
    $published_posts = $wpdb->get_results(
        "SELECT DISTINCT post_type 
         FROM   $wpdb->posts 
         WHERE  post_status = 'publish'", 
         ARRAY_A);
    print_r($published_posts);
    ?>

    Die Ausgabe aus dem PHP-CODE lautet dann leider:

    Code
    Array ( [0] => Array ([post_type] => page)      
            [1] => Array ([post_type] => post)  
            )

    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