wordpress При добавления плагином собственной страницы настроек с выводом списка таксономий, меню, поле, раздел страницы
Primary tabs
// Добавляем пункт подменю для настроек плагнина в Settings menu add_action('admin_menu', 'htpu_options_menu'); function htpu_options_menu() { add_options_page('Module Hierarchical Taxonomy Nested Items and Post urls', 'Hierarchical Taxonomy URLs', 'manage_options', 'htpu-options', 'htpu_options'); add_action('admin_init', 'htpu_register_settings'); } // Регистрируем настройки плагина function htpu_register_settings() { register_setting('htpu_options', 'htpu_options', 'htpu_options_validate'); add_settings_section('htpu_settings', 'Используемые таксономии', 'htpu_section_text', 'htpu-options'); add_settings_field('htpu_checked_taxonomies', 'Включить плагин для таксономий:', 'htpu_checked_taxonomies', 'htpu-options', 'htpu_settings'); } // Вывод чекбоксов для таксономий function htpu_checked_taxonomies() { $options = get_option('htpu_options'); $disabled_taxonomies = array('nav_menu', 'link_category', 'post_format'); foreach (get_taxonomies() as $tax) : if (in_array($tax, $disabled_taxonomies)) continue; ?> <input type="checkbox" name="htpu_options[checked_taxonomies][<?php echo $tax ?>]" value="<?php echo $tax ?>" <?php checked(isset($options['checked_taxonomies'][$tax])); ?> /> <?php echo $tax; ?><br /> <?php endforeach; } // Вывод описания раздела function htpu_section_text() { echo '<p>Выберете таксономии, ' . 'для категориий которых (и записях, относящихся к этим категориям),' . ' будет включен данный плагин иерархических ссылок.</p>'; } // Валидация настроек function htpu_options_validate($input) { return $input; } function htpu_options() { if (!current_user_can('manage_options')) wp_die('You do not have sufficient permissions to access this page.'); $options = get_option('htpu_options'); ?> <div class="wrap"> <h2><?php echo 'Hierarchical URLs'; ?></h2> <form method="post" action="options.php"> <?php settings_fields('htpu_options'); ?> <?php do_settings_sections('htpu-options'); ?> <?php submit_button(); ?> </form> </div> <?php }
Идея взята из одно из плагинов товарища: https://aftabhusain.wordpress.com/
- Log in to post comments
- 1656 reads