我在自定义帖子类型为photos
的WordPress网站上工作。我添加了一个自定义分类调用程序category
。我想用URL显示自定义category
名称。但由于某种原因,它显示空白。我该如何解决?
这是我正在尝试的代码
<?php
$args = array(
'post_type' => 'photos',
'post_status' => 'publish',
'paged' => get_query_var('paged')
);
$the_query = new WP_Query($args);
?>
<?php
if ($the_query->have_posts()):
while ($the_query->have_posts()):
$the_query->the_post();
?>
<div>Meal type: <?php echo get_the_term_list($post->ID, 'category', '', ', ', ''); ?></div>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>
答案 0 :(得分:1)
如果您的问题是&#34; div&#34; while循环中的标记显示为空白,这是由于未满足while循环的条件。您的一个或多个参数返回false。
<?php
$args = array(
'post_type' => 'photos',
'post_status' => 'publish',
'paged' => get_query_var('paged')
);
$the_query = new WP_Query($args);
?>
<?php
if ($the_query->have_posts()):
while ($the_query->have_posts()):
$the_query->the_post();
?>
基本上,WP_Query正在调用多个类,例如WP_Tax_Query和WP_Meta_Query,并根据您提供的条件按如下方式执行SQL请求:
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts
WHERE 1=1 AND wp_posts.post_type = 'photos' AND ((wp_posts.post_status = 'publish'))
ORDER BY wp_posts.post_date DESC LIMIT 0, 10
正在搜索是否有符合您指定条件的帖子,帖子类型为&#34;照片&#34;和&#34;出版&#34;状态。我认为它没有找到这些标准,并且返回的值为false。
更多信息:
答案 1 :(得分:0)
我认为问题在于您的自定义分类名称category
,因为category
已与帖子类型post
相关联。所以你得到一个空白输出。
如何修复 ::将category
重命名为photos_cat
(或使用您希望的任何名称)。
希望这有帮助!