Advertisement
neatekFb

Rational addition of taxonomies and custom posts (Wordpress)

Jun 7th, 2017
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.27 KB | None | 0 0
  1. <?php
  2. // Vladimir Zhelnov // neatek.ru // neatek.pw
  3. // functions.php (Wordpress)
  4.  
  5. function register_custom_types() {
  6.     // Icons for your custom post types
  7.     // Look: https://developer.wordpress.org/resource/dashicons/
  8.     // POST_TYPE_SLUG => DASHICON_NAME
  9.     $post_icons = array(
  10.         'clergy' => 'dashicons-universal-access-alt',
  11.         'media' => 'dashicons-images-alt2',
  12.         'dictionary' => 'dashicons-welcome-learn-more',
  13.         'diocese' => 'dashicons-admin-multisite',
  14.         'parish' => 'dashicons-admin-home',
  15.         'ruling' => 'dashicons-admin-users',
  16.         'deanery' => 'dashicons-location-alt',
  17.     );
  18.    
  19.     // Here is 'YOUR_POSTTYPE' => 'YOUR_POSTTYPE_SLUG'
  20.     $post_types = array(
  21.         'Духовенство' => 'clergy',
  22.         'Медиа' => 'media',
  23.         'Словарь' => 'dictionary',
  24.         'Епархия' => 'diocese',
  25.         'Приходы' => 'parish',
  26.         'Правящий Архиерей' => 'ruling',
  27.         'Благочиния' => 'deanery',
  28.     );
  29.  
  30.     // Translate this into your language
  31.     foreach ($post_types as $key => $value) {
  32.         $labels = array(
  33.             'name' => _x( $key, $value ),
  34.             'singular_name' => _x( $key, $value ),
  35.             'add_new' => _x( 'Добавить', $value ),
  36.             'all_items' => _x( $key, $value ),
  37.             'add_new_item' => _x( 'Добавить новое '.$key, $value ),
  38.             'edit_item' => _x( 'Редактировать '.$key, $value ),
  39.             'new_item' => _x( 'Новое '.$key, $value ),
  40.             'view_item' => _x( 'Просмотреть '.$key, $value ),
  41.             'search_items' => _x( 'Искать '.$key, $value ),
  42.             'not_found' => _x( $key.' не найдено', $value ),
  43.             'not_found_in_trash' => _x( $key.' не найдены в Корзине', $value ),
  44.             'parent_item_colon' => _x( 'Родительское '.$key.':', $value ),
  45.             'menu_name' => _x( $key, $value ),
  46.         );
  47.         // DO NOT TOUCH
  48.         $args = array(
  49.             'labels' => $labels,
  50.             'hierarchical' => false,
  51.             'public' => true,
  52.             'show_ui' => true,
  53.             'show_in_menu' => true,
  54.             'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt','archive' ),
  55.             'menu_icon' => $post_icons[$value],
  56.             'has_archive' => true,
  57.         );
  58.         register_post_type( $value, $args );
  59.     }
  60. }
  61.  
  62. function register_custom_taxonomy() {
  63.  
  64.     // Here is 'YOUR_POSTTYPE' => 'YOUR_POSTTYPE_SLUG'
  65.     $post_types = array(
  66.         'Духовенство' => 'clergy',
  67.         'Медиа' => 'media',
  68.         'Словарь' => 'dictionary',
  69.         'Епархия' => 'diocese',
  70.         'Приходы' => 'parish',
  71.         'Правящий Архиерей' => 'ruling',
  72.         'Благочиния' => 'deanery',
  73.         // 'YOUR_POSTTYPE' => 'YOUR_POSTTYPE_SLUG',
  74.     );
  75.    
  76.     // Translate this into your language
  77.     foreach ($post_types as $key => $value) {
  78.         $labels = array(
  79.             'name' => _x( 'Рубрики', $value ),
  80.             'singular_name' => _x( 'Рубрика', $value ),
  81.             'search_items' => _x( 'Поиск Рубрики', $value ),
  82.             'popular_items' => _x( 'Популярные Рубрики', $value ),
  83.             'all_items' => _x( 'Все Рубрики', $value ),
  84.             'parent_item' => _x( 'Родительская Рубрика', $value ),
  85.             'parent_item_colon' => _x( 'Родительская Рубрика:', $value ),
  86.             'edit_item' => _x( 'Редактировать Рубрику', $value ),
  87.             'update_item' => _x( 'Обновить Рубрику', $value ),
  88.             'add_new_item' => _x( 'Добавить новую Рубрику', $value ),
  89.             'new_item_name' => _x( 'Новая Рубрика', $value ),
  90.             'separate_items_with_commas' => _x( 'Разделить Рубрики с разделителем', $value ),
  91.             'add_or_remove_items' => _x( 'Добавить или удалить Рубрики', $value ),
  92.             'choose_from_most_used' => _x( 'Выбрать и часто используемых Рубрик', $value ),
  93.             'menu_name' => _x( 'Рубрики', $value ),
  94.         );
  95.        
  96.         // DO NOT TOUCH
  97.         $args = array(
  98.             'labels' => $labels,
  99.             'public' => true,
  100.             'show_in_nav_menus' => true,
  101.             'show_ui' => true,
  102.             'show_tagcloud' => true,
  103.             'show_admin_column' => false,
  104.             'hierarchical' => true,
  105.             'rewrite' => true,
  106.             'query_var' => true
  107.         );
  108.         register_taxonomy( $value.'-category', array($value), $args );
  109.     }
  110. }
  111.  
  112. add_action( 'init', 'register_custom_types' );
  113. add_action( 'init', 'register_custom_taxonomy' );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement