Как узнать ID рубрики (категории), записи или страницы в WordPress и как вернуть столбец с ID в админку Вордпресса?

13 Январь, 2014

Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. При использовании некоторых плагинов или функций, которые вы добавляете, например, в файл functions.php или другие шаблоны используемой вами темы оформления, возникает необходимость узнать ID рубрики, записи или страницы. Как это сделать?

Как узнать ID рубрики в WordPress

Как узнать ID рубрики, записи или страницы?


Довольно просто. Например, заходите из левого меню админки WordPress в «Записи» — «Рубрики» и подводите курсор мыши к той рубрике, ID которой вам нужно узнать.

В строке состояния вашего браузера (обычно она выводится в самом низу окна) появится Урл Адрес этой категория без использования ЧПУ, где в явном виде можно увидеть, что ID=8.

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

Пример использования ID рубрик или страниц в WordPress


Где могут понадобиться подобные ID (идентификационные номера)? Например, если в используемой вами теме оформления предусмотрено меню, которое формируется на основе имеющихся на вашем блоге статических страниц, то вы, наверняка, задавались вопросом — а как сделать так, чтобы отдельные статические страницы в этом меню не выводились. Довольно просто.

Для этого обычно используется функция wp_list_pages, которая позволяет добавить ID рубрик, названия которых не должны выводиться. Делается это с помощью exclude= и перечисления через запятую всех ненужных категорий. У меня такое меню когда-то формировалось с помощью вот такого вот кода:

  <ul id="nav">
      <li   class="page_item"><a href="http://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, как показано на предыдущем скриншоте.

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

Еще:

Рубрики :Основы WordPress

Комментарии и отзывы

Марина

Добрый день! Внесла ваш код в файл functions.php. и теперь отображается не понятно какие цифры. Как здесь прикрепить скрин я не знаю. Но id категорий на странице записей отображаются в виде шести или нескольких букв. Если я правильно понимаю, то получается дубль цифр. Например ид 156 а отображается 156156

Как исправить подскажите пожалуйста. Спасибо. Марина

Подписаться не комментируя