WordPress как на ладони
Наставник Трепачёв Д.П., phphtml.net wordpress jino

is_trackback() WP 1.5.0

Проверяет, является ли текущий запрос запросом на страницу пингов (trackback)

За обработку запроса тракбэков отвечает файл wp-trackback.php.

Как это работает?

При публикации ссылки на запись вашего сайта на другом сайте, он отправляет POST запрос в файл wp-trackback.php. Там подгружается ядро WordPress и в основной запрос устанавливается параметр tb=1

require_once( dirname( __FILE__ ) . '/wp-load.php' );
wp( array( 'tb' => '1' ) );

Параметр tb устанавливает свойство WP_Query::is_trackback = true, а это в свою очередь означает, что этот условный тег всегда будет срабатывать, т.е. означает, что это запрос пинга.

Далее, проверяются переданные POST данные и если все с ними в порядке, в таблицу комментариев добавляется пинг, сообщающий вам что на вашу статью сослались...

Управлять отправкой и получением пингов можно в настройках обсуждения:

Управление настройками обсуждения пингами

Когда может пригодится?

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

Задача, по моему, крайне редкая, поэтому этот условный тег можно отнести к редко используемым.

Работает на основе: WP_Query::is_trackback()
✈ 1 раз = 0.000027с = очень быстро | 50000 раз = 0.01с = скорость света PHP 7.1.2, WP 4.7.3

Хуков нет.

Возвращает

true/false

Использование

if( is_trackback() ){
	// запрос пинга
}

Код is trackback: wp-includes/query.php WP 4.8.1

<?php
function is_trackback() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_trackback();
}

Cвязанные функции

Из метки: Условные теги (типов страниц и запросов )

Еще из метки: Условные теги (все)

Еще из раздела: Комментарии

is_trackback Комментариев нет

Здравствуйте, !

Ваш комментарий