【问题标题】:Category deep function类别深层功能
【发布时间】:2011-12-14 16:48:30
【问题描述】:

如何在此函数上使用空格填充来加深类别。目前我有所有类别的选择框都具有相同的级别。

<?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=1&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 category&show_count=1&hierarchical=1&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

【问题讨论】:

  • 您是否在问如何创建具有嵌套类别的选择/选项菜单?
  • 我问,如何从现有函数数据中修复此函数上的类别子级别填充。此功能是高级 wordpress 的一部分,带有下拉框的元框和选择列表中的自定义分类法。
  • 这里是修复:wp_dropdown_categories('show_count=1&hierarchical=1&taxonomy=ad_cat&selected='.$meta = get_post_meta($post->ID, 'cat_include', true).'');返回所选参数元框信息。
  • 这里是这个插件的完整版。 Mod 使用子级别和填充制作 wp_drop_down 类别。 Mod修复更新和保存功能。这是完整的模式功能代码。 paste.php.lv/dc8786ed7b99038807c7f9741b30794a?lang=php 用于输出和自定义查询:ID, 'cat_include', true) ?>
  • 请在下面添加您的解决方案作为答案。然后,您可以选择该答案作为“答案”,这会将您的问题标记为已解决,这将有助于使该站点正常工作。谢谢!

标签: php wordpress categories


【解决方案1】:

我不确定您的问题出在哪里,但也许您正在寻找 fpr str_repeat http://php.net/manual/en/function.str-repeat.php ..

所以你可以使用这些方式:

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

(我不明白你是如何获得最深层次的......也许在层次结构中反复迭代是个好主意......)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    • 1970-01-01
    相关资源
    最近更新 更多