Здравствуйте, уважаемые читатели! Сегодня предлагаю вашему вниманию короткую, но весьма практичную публикацию.
API WordPress не может не радовать и не перестает удивлять. Масса задач решается с помощью хуков и плагинов, что позволяет не затрагивать файлы ядра и, как следствие, без особых проблем производить регулярные обновления движка.
Перейдем к делу. На днях, в рамках работы над одним проектом, у меня возникла острая необходимость переименовать стандартный пункт меню «Записи».
Да-да, тот самый стандартный тип публикаций, который предоставляется в WP из коробки. И вот какие пути решения данной задачи мне удалось найти.
Как ни странно, но даже на этот счет в каталоге плагинов WordPress нашлось решение.
Как гласит описание к плагину «Rename Post To News»:
Иногда вам необходимо чтобы тип записей назывался «Новости», но вы не хотите/не можете/вам просто лень создавать отдельный тип записей для этого. Этот небольшой плагин переименует «Записи» в «Новости».
Перевод вольный. А сам плагин я не устанавливал. Верю в то, что он обязательно должен работать 🙂
Кстати, скачать его можно и на Github. Уверен, что данное решение будет интересно еще и как пример написания собственного расширения для WordPress.
Способ номер два. Хук, который нужно разместить в файле functions.php
.
Если требуется переименование только лейбла «Записи» в меню:
add_filter( 'gettext', 'change_post_name' ); add_filter( 'ngettext', 'change_post_name' ); function change_post_name( $translated ) { $translated = str_ireplace( 'Записи', 'Новости', $translated ); return $translated; }
Если требуется переименование лейбла «Записи» и сопутствующих ссылок/подсказок:
function change_post_menu_label() { global $menu, $submenu; $menu[5][0] = 'Новости'; $submenu['edit.php'][5][0] = 'Новости'; $submenu['edit.php'][10][0] = 'Добавить новость'; $submenu['edit.php'][16][0] = 'Новостные метки'; echo ''; } add_action( 'admin_menu', 'change_post_menu_label' ); function change_post_object_label() { global $wp_post_types; $labels = &$wp_post_types['post']->labels; $labels->name = 'Новости'; $labels->singular_name = 'Новости'; $labels->add_new = 'Добавить новость'; $labels->add_new_item = 'Добавить новость'; $labels->edit_item = 'Редактировать новость'; $labels->new_item = 'Добавить новость'; $labels->view_item = 'Посмотреть новость'; $labels->search_items = 'Найти новость'; $labels->not_found = 'Не найдено'; $labels->not_found_in_trash = 'Корзина пуста'; } add_action( 'init', 'change_post_object_label' );
Вот в общем-то и все. Надеюсь, что данная публикация была вам полезна.
Оставить комментарий