Frage

Ich fange gerade erst an, Daten in mehrdimensionalen Arrays in WP_Options zu speichern, und ich brauche Hilfe, um einige Daten abzurufen ...

Meine Daten sind unten und werden als Option_Name "my_category_fields" gespeichert.

Ich muss eine Reihe von Kategorie -IDs ziehen, in denen das my_cat_hide auf true eingestellt ist. Ich habe meine Funktion hier gestoppt. Wie schließe ich es ab?

function get_hidden_cats()
{
$my_cats = get_option('ce4_category_fields');
    //how do I capture the list of category ids where my_cat_hide is 'true'?
    $my_hidden_cats = ?
    return $my_hidden_cats;
}

my_category_fields:

a:17:{
    i:20;a:1:{s:13:"my_cat_title";s:30:"Black Tea is Good for the Soul";}
    i:9;a:1:{s:13:"my_cat_title";s:58:"Herbal Chinese Tea is a spectacular blend of herbs and tea";}
    i:44;a:1:{s:13:"my_cat_title";s:24:"This is my 9th category!";}
    i:7;a:1:{s:13:"my_cat_title";s:0:"";}
    i:19;a:1:{s:13:"my_cat_title";s:0:"";}
    i:4;a:2:{s:13:"my_cat_title";s:28:"My test Title for Chai Tea 4";s:12:"my_cat_hide";N;}
    i:37;a:1:{s:13:"my_cat_title";s:0:"";}
    i:16;a:1:{s:13:"my_cat_title";s:0:"";}
    i:5;a:2:{s:13:"my_cat_title";s:0:"";s:12:"my_cat_hide";N;}
    i:6;a:1:{s:13:"my_cat_title";s:0:"";}
    i:8;a:1:{s:13:"my_cat_title";s:0:"";}
    i:3;a:1:{s:13:"my_cat_title";s:0:"";}
    i:10;a:1:{s:13:"my_cat_title";s:59:"Iced Tea: The Great Southern Choice for Cooling Refreshment";}
    i:36;a:1:{s:13:"my_cat_title";s:28:"Full title for this category";}
    i:38;a:2:{s:13:"my_cat_title";s:0:"";s:12:"my_cat_hide";s:4:"true";}
    i:39;a:2:{s:13:"my_cat_title";s:0:"";s:12:"my_cat_hide";s:4:"true";}
    i:40;a:2:{s:13:"my_cat_title";s:0:"";s:12:"my_cat_hide";s:4:"true";}
}
War es hilfreich?

Lösung

Folgendes sollte es tun:

function get_hidden_cats() {
    $my_cats = get_option('ce4_category_fields');

    $my_hidden_cats = array();
    foreach( $my_cats as $cat_id => $cat_attrs ) {
        if( 'true' == $cat_attrs['my_cat_hide'] )
            $my_hidden_cats[] = $cat_id;
    }
    $my_hidden_cats = implode( ',', $my_hidden_cats );

    return $my_hidden_cats;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top