我正在尝试创建一个页面,显示包含特定自定义字段的所有wordpress帖子。我认为最好的方法是创建一个"自定义页面模板"并使用新的WP_query列出相关帖子。我创建了一个新的"页面"并应用新的"页面模板"使用我的新WP_query,但页面上没有帖子显示。任何人都可以告诉我为什么这个自定义页面模板没有正确列出有问题的帖子?非常感谢任何帮助!
<?php
/**
* Template Name: Recommended Incentives
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
get_header(); ?>
<div id="main-content" class="main-content">
<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php
// args
$args = array(
'meta_key' => 'Incentive ID',
'meta_value' => '20'
);
// get results
$the_query = new WP_Query( $args );
// The Loop
?>
<?php if( $the_query->have_posts() ): ?>
<ul>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
<?php wp_reset_query(); // Restore global post data stomped by the_post(). ?>
</div><!-- #content -->
</div><!-- #primary -->
</div><!-- #main-content -->
<?php
get_sidebar();
get_footer();
答案 0 :(得分:0)
谢谢安迪,
当我在$args
变量中指定帖子类型时,我的代码工作正常。我使用的代码是
'meta_key' => 'Incentive ID',
'meta_value' => array(20,21),
'orderby' => 'meta_value_num',
'order' => 'ASC',
'post_type' => 'incentives'