Intereting Posts
Как определить максимальную ширину для содержимого в редакторе сообщений на основе шаблона страницы? Как я могу скрывать продукты без категоризации из результатов поиска? Фильтр запроса анализа в wordpress и отношении JSON API не работает после обновления до версии 4.6 Пользовательская тема: как вызвать archive-post.php для просмотра сообщений в блоге Показывать пользовательский тип сообщения при настройке последних сообщений Самый быстрый способ создания уникального идентификационного номера при регистрации пользователя Создание другого сайта WordPress в качестве поддомена сайта wordpress wp_tag_cloud встроенный CSS Загружать файлы js / css только на определенные страницы пользовательского интерфейса администратора Фильтр Выбор результатов на основе выбора Что мне делать? Многоуровневый, один веб-сайт или множество веб-сайтов? Попытка понять SQL-запрос базы данных WordPress: AND / OR Buddypress – добавление тегов в профиль Виджеты исчезли с домашней страницы, а сообщения на домашней странице отключены?

Как изменить пользовательскую таксономию на радио кнопки

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

Вот код, представленный в этом потоке, который, казалось, работал.

add_action('add_meta_boxes','mysite_add_meta_boxes',10,2); function mysite_add_meta_boxes($post_type, $post) { ob_start(); } add_action('dbx_post_sidebar','mysite_dbx_post_sidebar'); function mysite_dbx_post_sidebar() { $html = ob_get_clean(); $html = str_replace('"checkbox"','"radio"',$html); echo $html; } 

Когда я использую приведенный выше код, он меняет флажки во всех таксономических ячейках на переключатель. Но я хочу, чтобы 3 коробки меняли свои флажки в переключатель. Итак, как вы можете повернуть флажки в переключатели для конкретной коробки таксономии?

Тпй.

Solutions Collecting From Web of "Как изменить пользовательскую таксономию на радио кнопки"

Самым простым способом было бы де-регистрацию метаболизма таксономии и замену его собственным пользовательским обменом. Ниже моя попытка. Есть некоторые недостатки, хотя, не добавляя некоторые javascript, мне не удалось воспроизвести функцию WordPress «добавить новый термин», поэтому вы можете выбирать только существующие категории. (Или, по крайней мере, я был, но он добавил флажок, а не переключатель).

 class My_Radio_Tax{ static $taxonomy = 'event-category'; //Slug of taxonomy static $post_type = 'event';//Post type for meta-box function load(){ add_action( 'admin_menu', array(__CLASS__,'remove_meta_box')); add_action( 'add_meta_boxes', array(__CLASS__,'add_meta_box')); } //Remove taxonomy meta box function remove_meta_box(){ //The taxonomy metabox ID. This is different for non-hierarchical taxonomies $tax_mb_id = self::$taxonomy.'div'; remove_meta_box($tax_mb_id, self::$post_type, 'normal'); } //Add new taxonomy meta box function add_meta_box() { add_meta_box( 'my_tax', 'My taxonomy',array(__CLASS__,'metabox_inner'),'event' ,'side','core'); } //Callback to set up metabox function metabox_inner( $post ) { //Get taxonomy and terms $taxonomy = self::$taxonomy; $tax = get_taxonomy($taxonomy); $name = 'tax_input[' . $taxonomy . ']'; $terms = get_terms('event-category',array('hide_empty' => 0)); //Get current and popular terms $popular = get_terms( $taxonomy, array( 'orderby' => 'count', 'order' => 'DESC', 'number' => 10, 'hierarchical' => false ) ); $postterms = get_the_terms( $post->ID,$taxonomy ); $current = ($postterms ? array_pop($postterms) : false); $current = ($current ? $current->term_id : 0); ?> <div id="taxonomy-<?php echo $taxonomy; ?>" class="categorydiv"> <!-- Display tabs--> <ul id="<?php echo $taxonomy; ?>-tabs" class="category-tabs"> <li class="tabs"><a href="#<?php echo $taxonomy; ?>-all" tabindex="3"><?php echo $tax->labels->all_items; ?></a></li> <li class="hide-if-no-js"><a href="#<?php echo $taxonomy; ?>-pop" tabindex="3"><?php _e( 'Most Used' ); ?></a></li> </ul> <!-- Display popular taxonomy terms --> <div id="<?php echo $taxonomy; ?>-pop" class="tabs-panel" style="display: none;"> <ul id="<?php echo $taxonomy; ?>checklist-pop" class="categorychecklist form-no-clear" > <?php foreach($popular as $term){ $id = "id='in-popular-event-category-$term->term_id'"; echo "<li id='popular-event-category-$taxonomy-$term->term_id'><label class='selectit'>"; echo "<input type='radio' {$id}".checked($current,$term->term_id,false)."value='$term->term_id' />$term->name<br />"; echo "</label></li>"; }?> </ul> </div> <!-- Display taxonomy terms --> <div id="<?php echo $taxonomy; ?>-all" class="tabs-panel"> <ul id="<?php echo $taxonomy; ?>checklist" class="list:<?php echo $taxonomy?> categorychecklist form-no-clear"> <?php foreach($terms as $term){ $id = "id='in-event-category-$term->term_id'"; echo "<li id='event-category-$taxonomy-$term->term_id'><label class='selectit'>"; echo "<input type='radio' {$id} name='{name}'".checked($current,$term->term_id,false)."value='$term->term_id' />$term->name<br />"; echo "</label></li>"; }?> </ul> </div> </div> <?php } } My_Radio_Tax::load(); 

надеюсь, что это не считается чрезмерно саморекламой, но я превратил код stephen harris в плагин, который сделает это для вас: http://wordpress.org/extend/plugins/radio-buttons-for-taxonomies/

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