5 способов получить идентификаторы публикаций и страниц в WordPress

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

Какой идентификатор конкретной страницы или публикации в WordPress

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

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

Почему полезно знать, как определять идентификаторы записей и страниц WordPress

Внутри WordPress распознает определенные страницы и записи по их идентификационным номерам. Эта информация иногда запрашивается плагинами для того, чтобы включить или исключить определенный контент из зоны действия.

Идентификаторы записей WordPress в некоторых случаях необходимы для создания собственных шорткодов. Если вы используете шорткод, который требует указать запись, он попросит вас ввести идентификатор этой записи как часть его параметров.

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

if(is_single(POST_ID))

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

Как получить идентификаторы постов в WordPress (5 методов)

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

1. Найдите идентификатор в URL каждой записи

Самый простой способ найти идентификатор записи в WordPress – это перейти на панель управления и щелкнуть пункт меню «Записи». Вы увидите список всех записей на веб-сайте, и найдете их идентификаторы просто наведя курсор мыши на каждый заголовок:

Самый простой способ найти идентификатор записи в WordPress
Внизу экрана появится строка на сером фоне. В приведенном выше примере идентификатор записи равен 1, и это число идет сразу после параметра posts = .

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

URL-адрес будет отображаться на панели навигации
Имейте в виду, что URL-адреса записи, которые вы видите на панели инструментов, могут отличаться от тех, с которыми сталкиваются ваши посетители. Это потому, что многие веб-сайты WordPress используют пользовательские структуры постоянных ссылок,  которые вообще не показывают идентификаторы записей.

Единственные две структуры постоянных ссылок, которые включают идентификаторы записей WordPress – это простые и числовые параметры.

Вот два быстрых примера того, как выглядят эти структуры URL:

  1. yourwebsite.com/?p=1
  2. yourwebsite.com/archives/1

В обоих случаях идентификатор записи равен 1. Хотя обе структуры URL-адресов не обязательно плохие, в большинстве случаев вы захотите использовать постоянные ссылки, которые дают посетителям представление о том, какой контент они могут ожидать от каждой страницы.

2. Используйте собственный код для отображения идентификаторов записей на вкладке «Записи»

Если вы посмотрите на вкладку «Записи», то заметите, что она включает в себя много информации о каждом элементе контента, включая его автора, теги, категории и многое другое:

Используйте собственный код для отображения идентификаторов записей на вкладке
Можно отредактировать файл functions.php вашей темы, чтобы добавить в эту таблицу новый столбец. В этом столбце будет отображаться идентификатор каждой записи. Тогда вам не нужно будет копаться в ее URL, чтобы найти эту информацию.

Получите доступ к своему сайту через FTP, откройте корневую папку WordPress и перейдите к wp-content / themes. Найдите внутри папку своей темы (надеемся, что вы используете дочернюю тему) и откройте файл functions.php.

Ваш FTP-клиент загрузит файл и откроет его в редакторе по умолчанию. Вот код, который вам нужно добавить в этот файл:

function add_column( $columns ){
	$columns['post_id_clmn'] = 'ID'; // $columns['Column ID'] = 'Column Title';
	return $columns;
}
add_filter('manage_posts_columns', 'add_column', 5);

function column_content( $column, $id ){
	if( $column === 'post_id_clmn')
		echo $id;
}
add_action('manage_posts_custom_column', 'column_content', 5, 2);

Этот код включает дополнительный столбец в вашей таблице записей. Имейте в виду, что если вы используете плагин, который добавляет дополнительные данные в ту же таблицу, вам может потребоваться изменить позицию, указанную в приведенном выше фрагменте. В нашем примере новый столбец добавляется в пятую позицию (отсюда и цифра «5», которую вы видите выше), но при необходимости вы можете соответствующим образом скорректировать код.

После того, как фрагмент будет на месте, сохраните изменения в functions.php, и ваша вкладка «Записи» теперь должна выглядеть так:

Вкладка Записи теперь должна выглядеть так
С этого момента вы сможете просматривать идентификаторы записей прямо из этой таблицы.

Смотрите также:

Как создать в WordPress содержание записи или страницы

3. Используйте плагин для отображения идентификаторов записей в WordPress

Если вы не хотите изменять файл functions.php вашей темы, то можете использовать плагин, который сделает всю грязную работу за вас. Наша рекомендация — Show IDs by 99 Robots:

Используйте плагин для отображения идентификаторов записей
Этот конкретный плагин делает именно то, что мы делали в предыдущем разделе, и немного больше. Помимо отображения идентификаторов ваших записей, он также включает информацию о страницах, категориях, тегах, медиафайлах и многом другом.

После активации плагина вы увидите новый столбец идентификатора, который появится при просмотре полного списка любого из элементов, упомянутых выше. Например, вот как выглядит наша вкладка Страницы с установленным плагином:

Страницы с установленным плагином
Теперь когда вам нужен идентификатор записи, достаточно перейти на страницу записей и скопировать его.

4. Найдите идентификаторы записей в базе данных WordPress

База данных WordPress хранит всю информацию о вашем веб-сайте, включая идентификаторы для каждой отдельной записи, страницы и фрагмента контента. Некоторые веб-хосты позволяют получить доступ к базе данных вашего сайта с помощью настраиваемого интерфейса.

Некоторые веб-хосты позволяют получить доступ к базе данных вашего сайта

Оказавшись внутри, откройте базу данных вашего сайта и перейдите к таблице wp_posts . Вы должны увидеть ID каждой записи внутри столбца ID слева от post_author:

откройте базу данных вашего сайта и перейдите к таблице
Теперь нужно скопировать и вставить в нужное место идентификатор страницы или поста.

5. Используйте функции для получения идентификаторов записей WordPress

Если вы разработчик, вам может вообще не понадобиться искать идентификаторы записей WordPress. Обладая своими суперспособностями, вы можете использовать функции для получения нужных вам идентификаторов, используя лишь правильные параметры.

Например, вы можете использовать get_the_id () функцию, чтобы вернуть идентификатор поста:

get_the_id();

Если вы хотите немного повеселиться, вы также можете получить идентификаторы постов по их заголовкам или слагам, хотя эти две функции менее практичны:

$mypost = get_page_by_title( 'Your post title goes here', '', 'post' );
$mypost->ID;
$mypost = get_page_by_path('post-slug', '', 'post');
$mypost->ID;

Другой подход, который вы можете использовать – это получение идентификатора записей из его URL-адреса с помощью следующей функции:

$mypost_id = url_to_postid( 'https://yourwebsite.com/your-post' );

Если вы хотите найти идентификаторы записей в цикле, вы можете использовать следующий код:

$id_query = new WP_Query( 'posts_per_page=6 );
 
while( $id_query-have_posts() ) : $id_query->the_post();
	$id_query->post->ID;
endwhile;

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

Хотя WordPress не отображает идентификаторы записей или страниц, существует множество способов их найти. Знание идентификатора каждой записи может пригодиться для включения функций в плагинах, использования шорткодов и даже для ваших собственных проектов разработки.

Алексей Шевченко
Алексей Шевченко
редактор wpcafe
Изучает сайтостроение с 2008 года. Практикующий вебмастер, специализирующий на создание сайтов на WordPress. Задать вопрос Алексею можно на https://profiles.wordpress.org/wpthemeus/

Источник: hostenko.com/wpcafe

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

%d такие блоггеры, как: