如何将某些投资组合排除在循环之外

时间:2012-10-08 作者:DENNIS

我是这个网站的新手,已经为一个Wordpress问题绞尽脑汁好几天了。希望你们这些聪明的人能帮我解决这个问题。

我的网站上有一个页面,可以一次显示我的所有投资组合。我的投资组合可以分为不同的“集合”。我不想在此页面上显示某些特定的“集合”。可在此处查看该页面:http://www.industrygallerydc.com/works/

我相信我已经找到了导致投资组合“集合”显示的循环:

//prepare data for pagintion
$offset_query = \'\';
if(!isset($_GET[\'page\']) OR empty($_GET[\'page\']) OR $_GET[\'page\'] == 1)
{
    $current_page = 1;
}
else
{ 
    $current_page = $_GET[\'page\'];
    $offset = (($current_page-1) * $portfolio_items);
}

$args = array(
    \'numberposts\' => $portfolio_items,
    \'order\' => $portfolio_sort,
    \'orderby\' => \'date\',
    \'post_type\' => array(\'portfolios\'),
    \'offset\' => $offset,
);
if(!empty($term))
{
    $args[\'portfoliosets\'].= $term;
}

$page_photo_arr = get_posts($args);


//Get all portfolio items for paging

$args = array(
    \'numberposts\' => -1,
    \'order\' => $portfolio_sort,
    \'orderby\' => \'date\',
    \'post_type\' => array(\'portfolios\'),
);
if(!empty($term))
{
    $args[\'portfoliosets\'].= $term;
}

$all_photo_arr = get_posts($args);
$total = count($all_photo_arr);

if(isset($page_photo_arr) && !empty($page_photo_arr))
{   
?>
这里有没有排除“集合”的方法?

1 个回复
SO网友:westondeboer

所以我想你的$arg应该是:

$args = array(
    \'numberposts\' => $portfolio_items,
    \'order\' => $portfolio_sort,
    \'orderby\' => \'date\',
    \'post_type\' => array(\'portfolios\'),
    \'offset\' => $offset,
    \'exclude\'         => \'1,2\',
);
这就排除了post 1和post 2。

但你应该做的一个更好的选择是为你的作品创建一个特色类别。然后只显示特色类别中的帖子。这样,您就不必每次都手动输入帖子ID,希望它们在循环中被排除。

结束

相关推荐

How to return loop contents

有时,我需要return 循环的输出(通常带有WP_Query 如本例所示)用于短代码或启用筛选器the_content.下面使用对象缓冲的代码可以工作,但我在其他地方读到过缓冲可能效率低下。我也看到过HEREDOC,但我不知道这在这里是如何工作的,除非我先将每个模板标记保存为变量(这似乎再次低效)。所以我的问题是,返回循环输出的最佳方法是什么?<?php if ( $cms_pl_pages->have_posts() ) : ob_start(); // start object