Escludere una categoria dalla funzione WordPress Form

24 ott 2011, 18:21:23
Visualizzazioni: 295
Voti: 1

Ho questa funzione e ho bisogno di escludere in qualche modo la categoria numero 14 dal mio modulo di invio. C'è un modo per farlo all'interno di questa funzione?

function retrieve_cat_data($byid = false){
    $massive_categories_obj = get_categories('hide_empty=0');

    if($byid):
        $massive_categories = array();  
        foreach ($massive_categories_obj as $massive_cat) {
            if($massive_cat->cat_ID != 1 && $massive_cat->cat_ID != 14) $massive_categories[$massive_cat->cat_ID] = $massive_cat->cat_ID;
        }
        $categories_tmp = array_unshift($massive_categories, "0" ); 
    else:
        $massive_categories = array();  
        foreach ($massive_categories_obj as $massive_cat) {
            if($massive_cat->cat_ID != 1 && $massive_cat->cat_ID != 14) $massive_categories[$massive_cat->cat_ID] = $massive_cat->cat_name;
        }
        $categories_tmp = array_unshift($massive_categories, __('Seleziona una categoria:', 'bo') );      
    endif;

    return $massive_categories;
}


function retrieve_cat_data_sp( $exclude ){
    $args = array(
        'hide_empty' => '0',
        'exclude' => $exclude
    );
    $massive_categories_obj = get_categories($args);

    $massive_categories = array();  

    foreach ($massive_categories_obj as $massive_cat) { 
        if($massive_cat->cat_ID != 1 && $massive_cat->cat_ID != 14) $massive_categories[$massive_cat->cat_ID] = $massive_cat->cat_ID;
    }
    $categories_tmp = array_unshift($massive_categories, "0" ); 

    return $massive_categories;
}
0
Tutte le risposte alla domanda 1
1

Che ne dici di utilizzare la chiave dell'array exclude nella tua chiamata get_categories()?

Ad esempio, cambia questo:

$massive_categories_obj = get_categories('hide_empty=0');

in questo:

$massive_categories_obj = get_categories('hide_empty=0&exclude=14');

Nota che exclude si aspetta come valore una stringa separata da virgole.

Per la tua seconda funzione, cosa stai passando come $exclude?

function retrieve_cat_data_sp( $exclude ){
    $args = array(
        'hide_empty' => '0',
        'exclude' => $exclude
    );
    $massive_categories_obj = get_categories($args);

Stai passando una stringa separata da virgole, un array, o qualcos'altro?

Cosa ottieni da questa chiamata get_categories( $args )? Prova un var_dump( $massive_categories_obj ) per vedere cosa restituisce?

24 ott 2011 18:35:48
Commenti

ha funzionato. È un modulo di invio, quando viene scelta la categoria mostra il pulsante di caricamento e invio, altrimenti questi rimangono nascosti.

jimilesku jimilesku
24 ott 2011 18:53:55