Как узнать ID рубрики, категории, записи или страницы в WordPress и как вернуть столбец с ID в админку Вордпресса
Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. При использовании некоторых плагинов или функций, которые вы добавляете, например, в файл functions.php или другие шаблоны используемой вами темы оформления, возникает необходимость узнать ID рубрики, записи или страницы. Как это сделать?
Как узнать ID рубрики, записи или страницы?
Довольно просто. Например, заходите из левого меню админки WordPress в «Записи» — «Рубрики» и подводите курсор мыши к той рубрике, ID которой вам нужно узнать.
В строке состояния вашего браузера (обычно она выводится в самом низу окна) появится Урл Адрес этой категория без использования ЧПУ, где в явном виде можно увидеть, что ID=8.
То же самое можно проделать и на страницах со списком записей, и на статических страницах в WordPress. Например, для записей это будет выглядеть так.
Пример использования ID рубрик или страниц в WordPress
Где могут понадобиться подобные ID (идентификационные номера)? Например, если в используемой вами теме оформления предусмотрено меню, которое формируется на основе имеющихся на вашем блоге статических страниц, то вы, наверняка, задавались вопросом — а как сделать так, чтобы отдельные статические страницы в этом меню не выводились. Довольно просто.
Для этого обычно используется функция wp_list_pages, которая позволяет добавить ID рубрик, названия которых не должны выводиться. Делается это с помощью exclude= и перечисления через запятую всех ненужных категорий. У меня такое меню когда-то формировалось с помощью вот такого вот кода:
<ul id="nav"> <li class="page_item"><a href="https://ktonanovenkogo.ru/">Главная</a></li> <?php wp_list_pages('depth=1&sort_column=post_modified&sort_order=DESC&exclude=5689,5688,5687,5686,5683,5685,5684,5682,5680,5681,5679,5678,5677,5676,5675,5674,5673,5672,5276,5399,5732,5731,5730,5729,5728,5727,5726,5725,5724,5723,5722,5721,5720,5719,5850,5868,1174&title_li=' . ('') . '' ); ?> </ul>
Само это меню у меня проживало в файлике header.php из папки с темой оформления. Для реализации правильности работы этой WordPress функции мне пришлось из левого меню админки выбирать «Страницы» — «Все страницы» и находить описанным чуть выше способом все ID, которые надо было добавить в исключения.
Как вернуть столбец с ID в админку вашего блога на WordPress?
Способ этот придумал не я, а уважаемый мною разработчик Dimox (советую, кстати, к нему обращаться, если хотите переложить часть работы над вашим блогом на чужие плечи — очень грамотный и адекватный товарищ).
Что он предлагает? В общем-то, очень простое в реализации дополнение. Нужно будет открыть находящийся в папке с используемой вами темой файлик функшион. пхп и добавить в любое подходящее место в нем (читайте про него подробнее по приведенной ссылке) следующий фрагмент кода:
// колонка "ID" для таксономий (рубрик, меток и т.д.) в админке foreach (get_taxonomies() as $taxonomy) { add_action("manage_edit-${taxonomy}_columns", 'tax_add_col'); add_filter("manage_edit-${taxonomy}_sortable_columns", 'tax_add_col'); add_filter("manage_${taxonomy}_custom_column", 'tax_show_id', 10, 3); } add_action('admin_print_styles-edit-tags.php', 'tax_id_style'); function tax_add_col($columns) {return $columns + array ('tax_id' => 'ID');} function tax_show_id($v, $name, $id) {return 'tax_id' === $name ? $id : $v;} function tax_id_style() {print '<style>#tax_id{width:4em}</style>';} // колонка "ID" для постов и страниц в админке add_filter('manage_posts_columns', 'posts_add_col', 5); add_action('manage_posts_custom_column', 'posts_show_id', 5, 2); add_filter('manage_pages_columns', 'posts_add_col', 5); add_action('manage_pages_custom_column', 'posts_show_id', 5, 2); add_action('admin_print_styles-edit.php', 'posts_id_style'); function posts_add_col($defaults) {$defaults['wps_post_id'] = __('ID'); return $defaults;} function posts_show_id($column_name, $id) {if ($column_name === 'wps_post_id') echo $id;} function posts_id_style() {print '<style>#wps_post_id{width:4em}</style>';}
Ребят, настоятельно рекомендую не пользоваться возможностями админки Вордпресса по редактированию файлов вашей темы оформления. Почему? Потому что если что-то пойдет не так, то исправить содеянное вы уже не сможете. Поверьте, проверено это не однократно и не только мною, но и большим числом моих читателей, которые отписывались о своем печальном опыте.
Поэтому не ленитесь, скачивайте новую Файлзилу, настраивайте безопасную работу с ней путем хранения паролей к сайтам в Кипасе и открывайте код на редактирование в Нотепаде или любом онлайн редакторе Html или PHP кода. Это на порядок безопаснее, ибо всегда можно будет «сделать шаг назад».
Итак, после внесения описанных изменений заходите в админку WordPress и на вкладках с записями, рубриками и страницами увидите появившийся в самом конце столбец «ID». Что нам и требовалось реализовать.
Если надобность в нем у вас возникает не часто, то можете этот столбец временно скрыть, убрав галочку напротив «ID» в выпадающей области «Настройки экрана» вверху окна админки WordPress, как показано на предыдущем скриншоте.
Комментарии и отзывы (1)
Добрый день! Внесла ваш код в файл functions.php. и теперь отображается не понятно какие цифры. Как здесь прикрепить скрин я не знаю. Но id категорий на странице записей отображаются в виде шести или нескольких букв. Если я правильно понимаю, то получается дубль цифр. Например ид 156 а отображается 156156
Как исправить подскажите пожалуйста. Спасибо. Марина
Ваш комментарий или отзыв