PHP Notice возникает при запросе gettheterms в нескольких случаях. Во-первых, это может произойти, если функция gettheterms вызывается без передачи первого аргумента, который является идентификатором поста или объектом поста. Если не передать этот аргумент, функция не сможет определить, для какого поста нужно получить термины, и вернет PHP Notice.
Во-вторых, PHP Notice может возникнуть, если указанный пост не содержит ни одного термина в указанной таксономии. Например, если вы вызываете gettheterms для поста, который не содержит категорий, функция вернет пустой массив, но также сгенерирует PHP Notice, чтобы указать на отсутствие терминов.
Третья возможная причина возникновения PHP Notice при запросе gettheterms - это использование этой функции вне контекста цикла WordPress. Функция gettheterms предназначена для использования внутри цикла WordPress, который обрабатывает публикации. Если вы вызываете эту функцию вне цикла WordPress или в другом месте, где нет доступа к текущему посту, вы получите PHP Notice.
Чтобы избежать возникновения PHP Notice при использовании gettheterms, убедитесь, что вы передаёте правильный идентификатор поста или объект поста в качестве первого аргумента. Также удостоверьтесь, что указанный пост содержит термины в указанной таксономии. И наконец, учитывайте контекст, в котором вызывается функция gettheterms. Если вы вызываете эту функцию вне контекста цикла WordPress, вам может потребоваться использовать более подходящую функцию, такую как getterms или getthetermlist.