带有TAX_QUERY子句的WP_DROPDOWN_PAGES

时间:2013-04-10 作者:emeraldjava

我正在wordpress中显示自定义帖子类型的下拉列表。第一段代码使用WP\\u查询

$houseQuery = new WP_Query(
    array(
        \'post_type\' => \'house\',
        \'order\'     => \'ASC\',
        \'post_status\' => \'publish\',
        \'orderby\'   => \'title\',
        \'nopaging\' => true,
        \'tax_query\' => array(
        array(
            \'taxonomy\'  => \'teamtype\',
            \'field\'     => \'slug\',
            \'terms\'     => \'sectorteam\', // exclude house posts in the sectorteam custom teamtype taxonomy
            \'operator\'  => \'NOT IN\')
        ))
);
if( $houseQuery ->have_posts() ) :
    while ($houseQuery ->have_posts()) : $houseQuery->the_post();
        if(get_the_ID()==$c)
            $name=$post->post_title;
        echo \'{ value:\'.get_the_ID().\', label: "\'.get_the_title(get_the_ID()).\'"},\';
    endwhile;
endif;
这是第二段代码,它使用了“wp\\u dropdown\\u page()”方法,更加简洁

$args = array (
    \'id\' => \'house\',
    \'name\' => \'house\',
    \'echo\' => 1,
    \'post_type\' => \'house\'
);
wp_dropdown_pages($args);
我需要排除第一个示例中“tax\\u query”定义的帖子,但我要确保如何使用“wp\\u dropdown\\u pages”使用的参数来实现这一点。

我只想调用一个查询作为解决方案的一部分。

1 个回复
最合适的回答,由SO网友:vancoder 整理而成

有趣的是codex 对于wp\\u,下拉式页面包括:

函数get\\u pages的一些参数可能用于wp\\u dropdown\\u页面,但尚未确认。

这至少在一定程度上是正确的,因为我假设您使用post_type 因为论证是成功的。既然如此,给exclude 还有一枪。

在您的companyList 循环,生成要排除的帖子ID数组:

$name=$post->post_title;
echo \'{ value:\'.get_the_ID().\', label: "\'.get_the_title(get_the_ID()).\'"},\';
$exclusions[] = get_the_ID();
那就把这个论点扔进你的wp_dropdown_pages:

$args = array (
    \'id\' => \'house\',
    \'name\' => \'house\',
    \'echo\' => 1,
    \'post_type\' => \'house\',
    \'exclude\' => $exclusions
);

结束

相关推荐

WP_LIST_PAGES-使用Walker定制输出顺序

我正在使用wp\\u list\\u页面创建导航菜单。不过,我在菜单顺序方面遇到了一个挑战,我正试图找到一种方法来更好地控制菜单的顺序。是否可以使用Walker自定义wp\\U list\\u页面输出的顺序?例如,我想检查wp\\u list\\u pages results中的给定页面是否有post_meta 的值page_x 然后对另一个页面执行相同的操作,如果没有规则匹配,则继续正常操作。