来自数组查询的目标职位类型

时间:2013-07-19 作者:SolaceBeforeDawn

我使用以下查询从两种不同类型中提取帖子。但是,如何在实际的内容显示条件代码中针对它们?

if($my\\u query->post\\u type==“featured”)不起作用。我还尝试了if(post\\u type==“featured”)。

    <?php 
// query posts
$my_query = new WP_Query
        ( array(
        \'post_status\' => \'publish\',
        \'post_type\'   => array(\'featured\', \'wpsc-product\'),
        \'orderby\'     => \'menu_order\',
        \'order\'       => \'ASC\',
        \'showposts\'   => 50 )); 

while( $my_query->have_posts() ) : $my_query->the_post();
$fitemlink = get_post_meta($post->ID,\'new_fitemlink\',true); 


// display the content 

if ($my_query->post_type == \'featured\' ) { 
echo get_image_path(get_post_meta($post->ID, \'slideimage_src\', true));

} else if ($my_query->post_type == \'wpsc-product\' ) { 
echo wpsc_the_product_image(); } 

endwhile; ?>

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

我最终通过一个简单的查询解决了这个问题

if ( \'featured\' == get_post_type() )  { echo get_image_path(get_post_meta($post->ID, \'snbf_slideimage_src\', true)); } else if ( \'wpsc-product\' == get_post_type() ) { echo wpsc_the_product_image(); 

SO网友:Stephen Harris

$my_query->post_type 指的是查询的post类型(在本例中为数组),而不是结果。(建议使用$my_query->get(\'post_type\') 也是,但无论如何。

要获取当前帖子的(循环中)帖子类型:

$post_type = get_post_type();
还可以通过传递post对象/ID在循环外使用该函数。请参阅codex entry.

SO网友:Justin Bell

你要的是post_type 属性,而实际上您应该从当前post变量中请求该属性$post. 事实上this is exactly what get_post_type() does.

或者,如果查询指定了帖子类型,则可以ask for the corresponding query_var (例如。get_query_var("post_type");).

结束

相关推荐

获取404.php而不是Single-<post-type>.php

试图找到一个帖子出现在http://beernews.org/supporter/rare-beer-club/ 但我得到的是404。页面外观的示例如下:http://beernews.org/brewery/5-rabbit-brewery/. 当我进行搜索时,它会在结果中显示为摘录。只是无法获得模板的单个支持者。php由于某种原因触发。我已经设置了与其他所有帖子类型和分类法完全相同的帖子类型(和相应的分类法)。我已刷新缓存和CDN。我没有用于此的实时服务器测试环境,但相同的代码可以在localhost