У меня есть шаблон, в котором есть основной последний признанный пост (помеченный как признанный), а затем еще 8 ниже. На домашней странице я смог запросить последнюю полезную запись, а затем передать ее идентификатор функции в фильтр wordpress pre_get_posts
. он прекрасно работает тамКак исключить сообщение по id из запроса category.php в wordpress
function mh_exclude_featured_query($query) {
if(is_home()){
if ($query->is_home()) {
$feat = get_featured_post();
$query->query_vars['post__not_in'] = array($feat->ID);
}
}
}
add_action('pre_get_posts', 'mh_exclude_featured_query');
, но я также пытаюсь сделать то же самое в category.php, где я бы показать последнюю запись помечена как сказано в этой категории. а затем оставшиеся сообщения ниже с отмеченной позицией исключены.
К сожалению, когда я пытаюсь использовать тот же метод, что и выше, используя фильтр pre_get_posts
, я застреваю в бесконечном цикле и исчерпал память.
if($query->is_category() && $query->is_main_query()){
$cur_cat_id = get_cat_id(single_cat_title("",false));
$feat = get_featured_post($cur_cat_id);
$query->query_vars['post__not_in'] = array($feat->ID);
}
не уверен, что я делаю по-другому, что приводит к истощению памяти. category.php и index.php почти идентичны по своей структуре.
Спасибо. Я заставил его спорить. –