Intereting Posts
Pagination не работает в настраиваемом шаблоне страницы Ключ profile_update не работает внутри класса Передача переменной из jQuery в PHP Сделать URL в пользовательской гиперссылке поля html, сгенерированный темой, существует, но не отображается в браузере Переменная, если столбец липкий в functions.php Отключить всю другую страницу, кроме индекса, зарегистрироваться, войти в систему до входа в систему Правила перезаписи перенаправляют и не передают VAR Почему у боковой панели TwentyTen Theme <ul> есть класс с именем xoxo? Как легко переадресовать между разными архивами и уникальными слизнями? Может ли условное утверждение применяться к части пули? Установка и деинсталляция плагина через меню опций Как удалить язык? Разбиение страницы для категории slug возвращает 404, когда страница> = 2 Добавить персонализированный пост Тип определенной пользовательской таксономии для регулярного цикла блога

Как я могу условно изменить заголовок метанома таксономии?

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

У меня есть 2 пользовательских типа сообщений (Schools and Productions), которые разделяют общую таксономию (предметы в школе). Тем не менее, на странице редактирования «Школы» я хочу, чтобы в названии метаданных таксономии было указано «Список пожеланий», оставив заголовок по умолчанию на странице редактирования Productions. Поэтому я не могу просто переименовать таксономию в целом, потому что это изменило бы ее повсюду.

Есть идеи? Я рассмотрел различные другие ответы здесь, касающиеся удаления и повторного добавления метаболитов (например, этот ответ ). Я обеспокоен тем, что может не работать, потому что плагин Toolset Types генерирует эти обмены динамически (я думаю?) …

Solutions Collecting From Web of "Как я могу условно изменить заголовок метанома таксономии?"

В WP v4.4 есть фильтр под названием register_taxonomy_args который здесь очень полезен. В этом проверенном и рабочем примере предполагается, что schools и productions уже созданы.

 /** * Filter the arguments for registering a taxonomy. * * @since 4.4.0 * * @param array $args Array of arguments for registering a taxonomy. * @param string $taxonomy Taxonomy key. * @param array $object_type Array of names of object types for the taxonomy. */ add_filter( 'register_taxonomy_args', 'wpse238461_taxonomy_school_subjects_title_changer', 10, 3 ); function wpse238461_taxonomy_school_subjects_title_changer( $args, $taxonomy, $object_type ) { // We'll need to figure out what kind of post type we're looking at, and it's too early for other methods. if ( ! isset( $_GET['post_type'] ) || ! $_GET['post_type'] ) { return $args; } $post_type = $_GET['post_type']; /* // Bonus code for anyone trying to do this on regular post or page edit screens, // $_GET['post_type'] is not set, so do something like this instead of/in addition to the above check // We'll need to figure out what kind of post type we're looking at, and it's too early for other methods. if ( ! isset( $_GET['post'] ) || ! $_GET['post'] ) { return $args; } // Get the post type (post or page), bail if we can't. $post_type = get_post_type( $_GET['post'] ); if ( ! $post_type ) { return $args; } */ // Make sure we're looking at the right taxonomy since this filter runs for all of them. if ( 'school_subjects' !== $taxonomy ) { return $args; } // Check if we're viewing the appropriate post type, and modify the label. if ( 'schools' === $post_type ) { $args['labels']['name'] = _x( 'Subject Wishlists', 'taxonomy general name', 'textdomain' ); // Alternate example for when taxonomy is using the label argument instead of the entire labels argument: // $args['label'] = 'Subject Wishlist'; } return $args; } // Taxonomy registration code add_action( 'init', 'create_taxonomy_school_subjects' ); function create_taxonomy_school_subjects() { register_taxonomy( 'school_subjects', array( 'schools', 'productions' ), array( //'label' => __( 'School Subjects' ), 'labels' => array( 'name' => _x( 'School Subjects', 'taxonomy general name', 'textdomain' ), 'singular_name' => _x( 'School Subject', 'taxonomy singular name', 'textdomain' ), 'search_items' => __( 'Search School Subjects', 'textdomain' ), 'all_items' => __( 'All School Subjects', 'textdomain' ), 'parent_item' => __( 'Parent School Subject', 'textdomain' ), 'parent_item_colon' => __( 'Parent School Subject:', 'textdomain' ), 'edit_item' => __( 'Edit School Subject', 'textdomain' ), 'update_item' => __( 'Update School Subject', 'textdomain' ), 'add_new_item' => __( 'Add New School Subject', 'textdomain' ), 'new_item_name' => __( 'New School Subject Name', 'textdomain' ), 'menu_name' => __( 'School Subjects', 'textdomain' ), ), 'rewrite' => array( 'slug' => 'school_subjects' ), 'hierarchical' => true, ) ); } 

Школа – Тема Списки желаний

Школа - Тема Списки желаний

Производство – школьные предметы

Производство - школьные предметы

Не должно быть причин использовать плагины для мета-боксов 🙁 Использование их означает, что вы отдаете часть своей способности настраивать вещи по-своему.

Тем не менее, подумайте, что можно с уверенностью предположить, что идентификаторы вряд ли изменятся, даже если они динамически генерируются, поэтому безопасно просто удалять и повторно добавлять или нацеливать метку на некоторый JS-код.

Но … для меня все тревожные звонки гаснут, когда я слышу «Это одно и то же, за исключением этой небольшой разницы, поэтому давайте просто сменим ярлык в этой конкретной точке». Это во многих случаях является лишь первым признаком того, что это не то же самое, и все, что вы пытаетесь сделать, это короткое сокращение более полного решения. прежде чем делать какое-либо кодирование, вы должны спросить себя, почему вы хотите путать администратора, указав ту же информацию по-разному, когда она находится в меню, и когда она находится в форме? Это звучит как по крайней мере плохой UX.