При попытке добавить таксономию к get_categories (), но это не работает. Как зафиксировать это?

У меня есть этот шаблон, который я купил, и я пытаюсь настроить.

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

вот текущий код и где он загружает категории:

 $cats_array = get_categories('hide_empty=0');
 $pages_array = get_pages('hide_empty=0');
 $site_pages = array();
 $site_cats = array();

 foreach ($pages_array as $pagg) {
$site_pages[$pagg->ID] = htmlspecialchars($pagg->post_title);
$pages_ids[] = $pagg->ID;
 }

 foreach ($cats_array as $categs) {
$site_cats[$categs->cat_ID] = $categs->cat_name;
$cats_ids[] = $categs->cat_ID;
 }


    array( "name" => "Featured Category",
           "id" => $shortname."_feat_cat",
           "type" => "select",
           "options" => $site_cats,
           "desc" => "description"),

Идеально, это изменение должно работать:

$cats_array = get_categories('hide_empty=0&taxonomy=location');

но это не делает! Я, очевидно, пропускаю что-то и не знаю, как зафиксировать это. Любая справка ценится.

Вот часть таксономии регистра:

    // Register custom taxonomy
    register_taxonomy(  "location", 
                        array(  "woo_estate"    ), 
                        array ( "hierarchical"      => true, 
                                "label"             => "Locations", 
                                'labels'            => array(   'name'              => __('Locations'),
                                                                'singular_name'     => __('Location'),
                                                                'search_items'      => __('Search Real Estate'),
                                                                'popular_items'     => __('Popular Locations'),
                                                                'all_items'         => __('All Locations'),
                                                                'parent_item'       => __('Parent Location'),
                                                                'parent_item_colon' => __('Parent Location:'),
                                                                'edit_item'         => __('Edit Location'),
                                                                'update_item'       => __('Update Location'),
                                                                'add_new_item'      => __('Add New Location'),
                                                                'new_item_name'     => __('New Location Name')  ), 
                                'public'            => true,
                                'show_ui'           => true,
                                    "rewrite"           => true )
                        );

Коды страниц могут также быть найдены в:

http://codepad.viper-7.com/4Wkgg3

http://codepad.viper-7.com/n2hZRI

Я не смог устранить проблему в конце, но вместо того, чтобы использовать файл опций темы для динамичного выбора категории, которую я хочу, я использовал код переопределения к непосредственно (статически) выбору категория, которую я хотел, и это работало.

0
30.08.2012, 14:45
3 ответа

Я не смог устранить проблему в конце, но вместо того, чтобы использовать файл опций темы для динамичного выбора категории, которую я хочу, я использовал код переопределения к непосредственно (статически) выбору категория, которую я хотел

0
19.02.2020, 23:50

Использование:

$terms = get_terms( 'location', 'hide_empty=0' );
if(is_wp_error($terms)){
    // error occurred
} else if (empty($terms )){
    // no terms were found
} else {
    // process terms
    foreach($terms as $term){
        // process this individual $term
    }
}

Я советовал бы, чтобы Вы использовали универсальную таксономию и назвали функции везде, и избежали категории особого случая и отметили функции, если это возможно.

2
19.02.2020, 23:50

Из Вашего комментария:

Это должно быть тем, что Вы ищете: object(WP_Error)#337 (2) { ["errors"]=> array(1) { ["invalid_taxonomy"]=> array(1) { [0]=> string(16) "Invalid taxonomy" } } ["error_data"]=> array(0) { } }

Сообщение об ошибке показывает проблему: "Недопустимая таксономия"

Вы не передаете допустимую таксономию get_categories().

0
19.02.2020, 23:50
  • 1
    , но тот же очень точный вызов работает на других страницах. Работы wp_dropdown_categories('orderby=name&show_count=0&selected=0&hierarchical=1&hide_empty=0&depth=1&show_option_all=All&name=locadu&id=locadu&taxonomy=location&exclude=1061'); точно как он должны все же та же таксономия не работать в get_categories (). –  Claudio Delgado 29.08.2012, 17:33
  • 2
    Что делает get_terms( 'location' ) Объект вернуть? –  Chip Bennett 29.08.2012, 17:46
  • 3
    (WP_Error) #517 (2) {["ошибки"] => массив (1) {["invalid_taxonomy"] => массив (1) {[0] => строка (16) "Недопустимая таксономия" }} ["error_data"] => массив (0) {}} –  Claudio Delgado 29.08.2012, 17:48
  • 4
    И что делает Ваш wp_dropdown_categories() по тому же возврату страницы? –  Chip Bennett 29.08.2012, 17:48
  • 5
    На самом деле я думаю, что Вы - гений. Поскольку, хотя я не нашел, как зафиксировать его все же, я просто узнал, что wp_dropdown_categories () кодируют только работы хорошо в заголовочном файле моей темы. в том же файле, который я редактирую прямо сейчас, это возвращается с ошибками также! Так так или иначе таксономия, которая работает при использовании нигде в виджете темы, индексе заголовок и т.д. не работает в файле, который я редактирую, который является файлом опций темы. –  Claudio Delgado 29.08.2012, 17:51

Теги

Похожие вопросы