Я использую Wordpress REST API для создания контента, отображаемого в приложениях iOS и Android.
Так как WP отображает только 10 сообщений в REST API, я сделал собственную функцию php для отображения большего количества кода, и этот код вызывает очень длительное время TTFB.
Я связался с поддержкой сервера, и они отправилиошибки, полученные при попытке доступа к конечной точке API REST API
Вот их ответ:
connect(3, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("139.162.182.238")}, 16) = -1 EINPROGRESS (Operation now in progress)
poll([{fd=3, events=POLLOUT|POLLWRNORM}], 1, 299996) = 1 ([{fd=3, revents=POLLOUT|POLLWRNORM}])
getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
sendto(3, "HEAD /wp-json/wp/v2/test_odgovor"..., 200, MSG_NOSIGNAL, NULL, 0) = 200
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 1000) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 1000) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 1000) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 1000) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 1000) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 1000) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 1000) = 0 (Timeout)
Ниже приведен код, который используется для отображения более 10 сообщений в API REST:
add_filter( 'rest_endpoints', function( $endpoints ){
if ( ! isset( $endpoints['/wp/v2/test_odgovor'] ) ) {
return $endpoints;
}
unset( $endpoints['/wp/v2/test_odgovor'][0]['args']['per_page'] ['maximum'] );
return $endpoints;
});
add_filter( 'rest_endpoints', function( $endpoints ){
if ( ! isset( $endpoints['/wp/v2/test_odgovor'] ) ) {
return $endpoints;
}
$endpoints['/wp/v2/test_odgovor'][0]['args']['per_page']['default'] = 2000;
return $endpoints;
});
Есть ли какая-либо другая функция, которая может помочь отображать больше сообщений WP в API, или я должен изменить сервер?
Я не знаком с ошибками сервера, поэтому не знаючто я мог сделать здесь.Должен ли я изменить код в приложении и загрузить JSON по-другому?
РЕДАКТИРОВАТЬ - Таким образом, похоже, что обновление Wordpress до версии 5 вызвало эту проблему.Когда я понизил его до 4.9, TTFB был ниже 4 секунд.У кого-нибудь есть идея, почему более новая версия Wordpress вызывает это?
Любой совет приветствуется!
Спасибо.