#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>';
(Я не понимаю, как вы получаете глубину уровня.. возможно, это хорошая идея для повторной итерации по иерархии ..)