Intereting Posts
Проверять загруженное изображение с помощью встроенных функций WordPress? использовать заранее настраиваемое поле внутри команды запроса сообщения разница между esc_attr (), strip_slashes (), strip_tags ()? Перенаправление wp-login.php приводит к неработоспособности процесса выхода из системы if / else по пользовательскому запросу дает 200 OK, если условие не выполнено? Как добавить часть кода в функцию Разрешение файла post.php становится 0 в реальном времени Отображение списка персонализированных сообщений Удалить запись заголовка сообщения с страницы редактирования Передача переменной PHP в javascript Плагин расширенных настраиваемых полей – невозможно получить URL-адрес из post_object Добавление класса к показанному изображению Добавить галерею id в rel атрибут wp_get_attachment_link Как загрузить файлы JS WP_Editor вручную (с помощью AJAX)? Преобразование комментариев в обзоры для пользовательских типов сообщений

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

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

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

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/

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