Категория глубокая функция

#php #wordpress #categories

#php #wordpress #Категории

Вопрос:

Как получить категорию deep с помощью пробелов для этой функции. На данный момент у меня есть поле выбора, в котором все категории имеют одинаковый уровень.

 <?php
add_action('add_meta_boxes', 'my_custom_metabox');
function my_custom_metabox() {
    add_meta_box('custom-taxonomy-dropdown','Brands','taxonomy_dropdowns_box','post','side','high');
}

function taxonomy_dropdowns_box( $post ) {
    global $brand_taxonomy, $taxonomy_name;
    wp_nonce_field('custom-dropdown', 'dropdown-nonce');
    $terms = get_terms( $brand_taxonomy, 'hide_empty=1amp;hierarchical=1;');
    if ( is_a( $terms, 'WP_Error' ) ) {
        $terms = array();
    }

    $object_terms = wp_get_object_terms( $post->ID, $brand_taxonomy, array('fields'=>'ids'));
    if ( is_a( $object_terms, 'WP_Error' ) ) {
        $object_terms = array();
    }

    // you can move the below java script to admin_head
    ?>

    <?php


    wp_dropdown_categories('show_option_none=Select categoryamp;show_count=1amp;hierarchical=1amp;taxonomy=ad_cat');



    echo "Brand:";
    echo "<select id='custombrandoptions' name='custombrands[]'>";
    echo "<option value='0'>None</option>";
    foreach ( $terms as $term ) {

        if ( in_array($term->term_id, $object_terms) ) {
            $parent_id = $term->term_id;
            echo "<option value='{$term->term_id}' selected='selected'>{$term->name}</option>";
        } else {
            echo "<option value='{$term->term_id}'>{$term->name}</option>";
        }

    }
    echo "</select><br />";



    echo '<input type="text" value="'.$meta = get_post_meta($post->ID, 'cat_include', true).'" />';

}
  

источник: http://paste.php.lv/dc485b1e6f37f09f916fccc6ae70ed2f?lang=php

Комментарии:

1. Вы спрашиваете, как создать меню выбора / опций, в котором есть вложенные категории?

2. Я спрашиваю, как исправить заполнение подуровней категории для этой функции из существующих данных функций. Эта функция является частью расширенного WordPress, мета-блока с выпадающим списком и пользовательскими таксономиями внутри в списке выбора.

3. Вот исправление: wp_dropdown_categories(‘show_count=1amp;hierarchical=1amp;taxonomy=ad_catamp;selected=’.$meta = get_post_meta($post->ID, ‘cat_include’, true).»); Возвращает информацию о мета-поле выбранного аргумента.

4. Вот полная модифицированная версия этого плагина. Мод создает категории wp_drop_down с подуровнями и дополнениями. Мод исправляет обновление и сохранение функций. Вот полный код модифицированных функций. пасты.РНР.ЛВ/dc8786ed7b99038807c7f9741b30794a?Ланг=в PHP для вывода данных и пользовательских запросов: <?php $str = get_post_meta($post->ИД ‘cat_include’, правда) ?>

5. Пожалуйста, добавьте свое решение в качестве ответа ниже. Затем вы можете выбрать этот ответ как «ответ», который отметит ваш вопрос как решенный, что поможет заставить этот сайт работать. Спасибо!

Ответ №1:

Я не уверен, где находится ваша проблема, но, возможно, вы ищете fpr str_repeat http://php.net/manual/en/function.str-repeat.php ..

таким образом, вы можете использовать этот способ:

 echo '<option value="" ..>'.str_repeat(' ',$currentLevel 1).'</option>';
  

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