Когда я зацикливаюсь на CPT на моей домашней странице, он отображается правильно, но я не могу контролировать длину выдержки.
Я хочу просмотреть 4 разных CPT на моей первой странице. Цикл работает, но моя условная логика для управления длиной отрывка не работает, как ожидалось, потому что get_post_type возвращает «страницу», а не фактический CPT.
Это в моих функциях. Php:
add_filter('excerpt_length', 'll_get_excerpt_length');
function ll_get_excerpt_length($size) {
if (is_post_type_archive('post')) {
return 40;
} elseif (is_post_type_archive('podcast')) {
return 15;
} elseif (is_post_type_archive('review')) {
return 5;
} else {
return $size;
}
}
при выгрузке var типа записи я получаю "страницу", поэтому я не знаю, где и как контролировать различные длины выдержки.
Я ожидал, что длина выдержки будет правильной для каждой петли CPT на моей первой странице.
Когда я добавляю следующее с помощью print_r, я только вхожу в функцию, но не в ifs.
add_filter('excerpt_length', 'll_get_excerpt_length');
function ll_get_excerpt_length($size) {
print_r(get_post_type());
if (is_post_type_archive('post')) {
print_r(get_post_type());
return 40;
} elseif (is_post_type_archive('podcast')) {
print_r(get_post_type());
return 15;
} elseif (is_post_type_archive('review')) {
print_r(get_post_type());
return 5;
} else {
return $size;
}
}
Любая помощь будет принята с благодарностью!