Исключение категории из функции формы WordPress

24 окт. 2011 г., 18:21:23
Просмотры: 295
Голосов: 1

У меня есть эта функция, и мне нужно как-то исключить категорию с номером 14 из моей формы отправки. Есть ли способ сделать это внутри этой функции?

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_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_categories[$massive_cat->cat_ID] = $massive_cat->cat_name;
        }
        $categories_tmp = array_unshift($massive_categories, __('Выберите категорию:', '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_categories[$massive_cat->cat_ID] = $massive_cat->cat_ID;
    }
    $categories_tmp = array_unshift($massive_categories, "0" ); 

    return $massive_categories;
}
0
Все ответы на вопрос 1
1

Что насчёт использования ключа массива exclude в вашем вызове функции get_categories()?

Например, измените это:

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

на это:

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

Обратите внимание, что exclude ожидает строку с разделителем-запятой в качестве значения.

Для вашей второй функции, что вы передаёте в качестве $exclude?

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

Вы передаёте строку с разделителем-запятой, массив или что-то ещё?

Что вы получаете от этого вызова get_categories( $args )? Попробуйте выполнить var_dump( $massive_categories_obj ), чтобы увидеть, что возвращается?

24 окт. 2011 г. 18:35:48
Комментарии

Это сработало. Это форма отправки, при выборе категории отображаются кнопки загрузки и отправки, если ничего не выбрано, они скрыты.

jimilesku jimilesku
24 окт. 2011 г. 18:53:55