2013-03-07 3 views
0

Я пытаюсь исключить фильтр (slug) из цикла. Я исследую исключение и пробовал его в разных местах кода. Обычно я разбиваю страницу. Это код, я пытаюсь изменить, чтобы исключить слизню 20. Это фильтр с именем «american». Я попытался исключить в начале массива, не работал; Затем я попытался использовать foreach ($ catz as $ cat). Я попробовал это 'exclude = 20 & title_li ='. Я пробовал cat = -20 и различные другие комбинации. Любая помощь будет очень оценена.wp как исключить фильтр из пользовательского запроса

// The Custom Query 
$args = array(
'post_type'   => 'portfolio', 
'posts_per_page' => $counter_folio, 
'paged'    => $paged, 
'order'    => 'DESC' 

); 
query_posts($args); 
while(have_posts()) : the_post(); 
$color = substr(get_option('dcb_dynamic_color'), 1); 
// Get the original thumbnail of the post 
$src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), false, ''); 
$excerpt = get_the_excerpt(); 
// Get the custom fields 
$vimeo = get_post_meta($post->ID, "vimeo", true); 
$youtube = get_post_meta($post->ID, "youtube", true); 
// Get the filter > Category of item 
$catz = wp_get_object_terms($post->ID,'filters'); 
foreach($catz as $cat){ 
    $currcat = $cat->slug; 
    $catname = $cat->name; 
    break; 
} 
$counter++; 
?> 
+0

пожалуйста, не используйте 'query_posts' плохо для запроса данных, его проблематично и не надежен. Вместо этого используйте 'WP_Query', у вас будет больше контроля над вашими данными и спокойствием :) –

ответ

0

Если вы хотите, чтобы фильтровать сообщение с идентификатором 20 просто исключить его с помощью следующего кода

// The Custom Query 
    $args = array(
    'post_type'   => 'portfolio', 
    'posts_per_page' => $counter_folio, 
    'paged'    => $paged, 
    'order'    => 'DESC' 

    ); 
    query_posts($args); 
    while(have_posts()) : the_post(); 
    $color = substr(get_option('dcb_dynamic_color'), 1); 
    // Get the original thumbnail of the post 
    $src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), false, ''); 
    $excerpt = get_the_excerpt(); 
    // Get the custom fields 
    $vimeo = get_post_meta($post->ID, "vimeo", true); 
    $youtube = get_post_meta($post->ID, "youtube", true); 
    // Get the filter > Category of item 
    $catz = wp_get_object_terms($post->ID,'filters'); 
    foreach($catz as $cat){ 
    if($cat->slug != 'american') 
    { 
     $currcat = $cat->slug; 
     $catname = $cat->name; 
     break; 
    } 
    } 
    $counter++; 
+0

Спасибо. Это то место, которое я пытался исключить. Я поставил ваш код на место, но он не сработал; однако он также не нарушил страницу. Именно это мой код постоянно делал. – user2141887

+0

Я думаю, что это должно быть: если сообщение имеет этот слизень, исключите его. И затем исключить имя. – user2141887

+0

Ну, я добавил $ exclude = get_cat_ID ('american'); а не if .. и это сработало, но теперь у меня все еще есть title_li. – user2141887