Меню Закрыть

Как узнать id публикации на WordPress-сайте?


Иногда возникает такой вопрос — как быстро узнать id страницы, записи, метки, рубрики или медиафайла в WordPress? И это не просто праздное любопытство, такая информация часто оказывается необходимой, например, для включения или исключения той или иной страницы из сферы влияния какого либо плагина или виджета. К сожалению, в интерфейсе WordPress уведомление об идентификаторе не отображается. Проблема определения id для всех файлов появилась начиная с обновления WordPress 2.5 и выше. Давайте рассмотрим несколько способов определения идентификатора.

  Самые простые способы

Для определения id страницы или рубрики и т.д., нужно войти в админ-панель WordPress и навести курсор мыши на ссылку-название страницы или рубрики с искомым id. В нижней левой части админки появится строка, в которой можно считать информацию о ссылке. Там же находим и id этой ссылки:

Строка, где можно узнать ID

Информация об id может быть обнаружена и в адресной строке браузера при открытии ссылки на страницу в той же админ-панели. Там будет примерно такая строка: http://site.ru/wp-admin/post.php?post=3626&action=edit, где 3626 и есть id страницы.

Применение плагина

Устанавливать плагины для такого незначительного мероприятия нет особого смысла, но, если кого-то интересует вопрос плагинов, тогда найдите и установите плагин Reveal IDs, который поможет решить такого рода задачу. Установка и активация проходят в стандартном режиме, настроек никаких. Сразу после установки можно наблюдать, то, что желали. При открытии перечня страниц, записей и т.д., в верхней панели можно увидеть появление нового пункта — ID.

 С помощью кода

Откройте файл functions.php (wp-content → themes → ваш шаблон → functions.php) и добавьте в него следующий код:

if (is_admin()) { 
  // колонка "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>';}
}

В результате получите новую колонку с ID всех публикаций:

Новая колонка с ID всех публикаций

О недостатке такого способа Вы, скорее всего, догадались. При обновлениях шаблона всё может вернуться на прежние позиции и код нужно будет добавлять заново.

Выбирайте из представленных способов тот, который Вам больше всего понравился.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

         Яндекс.Метрика