Intereting Posts
Не удалось загрузить список Posts & Get error 500 Создание каталога ссылок с помощью WordPress? Автоматическая проводка в WordPress из командной строки или XMLRPC API на Dreamhost мета-поля для всего сайта wordpress Как добавить настраиваемый мета-ящик ниже поля публикации в CPT, который похож на метатекст публикации и может содержать html? WordPress Install – «конец вывода сценария перед заголовками» при запуске простого скрипта php Расширенные пользовательские поля (acf) – отношение фильтра по таксономии, а не тип сообщения Добавить js в тему Получение метаданных сообщений (вложение) Если вы хотите отображать файлы без изображения в Галерее с логотипом, специфичным для типа файла Изменение имени заголовка по умолчанию Пользовательские метаданные сообщения не отображаются в общедоступном API Нестандартные значения поля не отображаются на странице редактирования пользовательского типа сообщения Показать регистрационную форму после проверки WooCommerce после ошибки В WooCommerce фильтруйте доступные способы оплаты по роли пользователя

Интернационализировать / переводить персонализированные почтовые типы и таксономии

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

Заранее спасибо.

Код:

add_action( 'init', 'register_cpt_portfolio' ); function register_cpt_portfolio() { $labels = array( 'name' => _x( 'Portfolios', 'portfolio'), 'singular_name' => _x( 'single-portfolio', 'portfolio' ), 'add_new' => _x( 'Add New', 'portfolio' ), 'add_new_item' => _x( 'Add New Portfolio', 'portfolio' ), 'edit_item' => _x( 'Edit Portfolio', 'portfolio' ), 'new_item' => _x( 'New Portfolio', 'portfolio' ), 'view_item' => _x( 'View Portfolio', 'portfolio' ), 'search_items' => _x( 'Search Portfolios', 'portfolio' ), 'not_found' => __( 'No portfolios found', 'portfolio' ), 'not_found_in_trash' => _x( 'No portfolios found in Trash', 'portfolio' ), 'parent_item_colon' => _x( 'Parent Portfolio:', 'portfolio' ), 'menu_name' => _x( 'Portfolio', 'portfolio' ), ); $args = array( 'labels' => $labels, 'hierarchical' => false, 'supports' => array( 'title', 'editor', 'thumbnail' ), 'taxonomies' => array( 'portfolio_taxonomy' ), 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'publicly_queryable' => true, 'exclude_from_search' => false, 'has_archive' => true, 'query_var' => true, 'can_export' => true, 'rewrite' => true, 'capability_type' => 'post' ); register_post_type( 'portfolio', $args ); } add_action( 'init', 'register_taxonomy_portfolio_taxonomy' ); function register_taxonomy_portfolio_taxonomy() { $labels = array( 'name' => _x( 'Portfolio Categories', 'portfolio_taxonomy' ), 'singular_name' => _x( 'Portfolio Category', 'portfolio_taxonomy' ), 'search_items' => _x('Search Portfolio Categories', 'portfolio_taxonomy'), 'popular_items' => _x( 'Popular Portfolio Categories', 'portfolio_taxonomy' ), 'all_items' => _x('All Portfolio Categories', 'portfolio_taxonomy' ), 'parent_item' => _x('Parent Portfolio Category', 'portfolio_taxonomy' ), 'parent_item_colon' => _x( 'Parent Portfolio Category:', 'portfolio_taxonomy' ), 'edit_item' => _x( 'Edit Portfolio Category', 'portfolio_taxonomy' ), 'update_item' => _x( 'Update Portfolio Category', 'portfolio_taxonomy' ), 'add_new_item' => _x( 'Add New Portfolio Category', 'portfolio_taxonomy'), 'new_item_name' => _x( 'New Portfolio Category', 'portfolio_taxonomy' ), 'separate_items_with_commas' => _x( 'Separate portfolio categories with commas', 'portfolio_taxonomy'), 'add_or_remove_items' => _x( 'Add or remove portfolio categories', 'portfolio_taxonomy' ), 'choose_from_most_used' => _x( 'Choose from the most used portfolio categories', 'portfolio_taxonomy' ), 'menu_name' => _x( 'Portfolio Categories','portfolio_taxonomy'), ); $args = array( 'labels' => $labels, 'public' => true, 'show_in_nav_menus' => true, 'show_ui' => true, 'show_tagcloud' => true, 'hierarchical' => true, 'rewrite' => true, 'query_var' => true ); register_taxonomy( 'portfolio_taxonomy', array('portfolio'), $args ); } 

Solutions Collecting From Web of "Интернационализировать / переводить персонализированные почтовые типы и таксономии"

Поскольку вы уже выяснили, что такое текстовый домен – последний параметр __() – я хочу добавить что-то, что большинство людей забывает, когда пользовательские типы сообщений или таксономии сделаны переводимыми: пули.

Тип вашего почтового типа или таксономия может означать что-то совсем другое или даже неловкое на другом языке. Или он может содержать буквы, которые недоступны (например, знаменитый i на турецком языке ) и поэтому трудно печатать.

Смотрите непереводимые слизни как ошибки в вашем коде.

Аргумент rewrite для register_taxonomy() и register_post_type() принимает массив. Один из ключей массива – slug . Используйте его, сделайте его переводимым:

 register_post_type( 'post_type_name', array ( 'rewrite' => array ( 'slug' => _x( 'post_type_name', 'URL slug', 'your_text_domain' ) ) ) ); register_taxonomy( 'taxonomy_name', array ( 'post', 'post_type_name' ), array ( 'rewrite' => array ( 'slug' => _x( 'taxonomy_name', 'URL slug', 'your_text_domain' ) ) ) ); 

Функция _x() использует параметр контекста. Это поможет переводчикам увидеть, где будет использоваться строка.