Intereting Posts
Каковы предварительно форматированные HTML-компоненты WordPress? Почему мой запрос на вставку не работает? Невозможно заблокировать файлы wordpress readme Как показывать только сообщения по последней категории детей Аутентификация для мобильного приложения, подключенного через wp-rest api? Как переместить родительский li в конец дочернего ul задать и отредактировать дополнительное поле комментария Удобное обрезка миниатюр сообщений? Искал и много пробовал: возможно ли устранить блокировку рендера в ручном режиме add_rewrite_rule не будет работать установить определенный размер или минимальный размер загрузки Альтернативный выход контура каждые три столбца (в том же исходном цикле) Создать пользовательскую конечную точку API доступа, которая переносит существующую конечную точку? Персистский параметр url, передаваемый сайтом реферера? Меню боковой панели WordPress для сообщений на основе даты – требуется руководство

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

Я создал пользовательский тип сообщения и таксономию через генератор, но не совсем уверен, как сделать его переводимым. 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() использует параметр контекста. Это поможет переводчикам увидеть, где будет использоваться строка.