在WordPress网站中显示带有URL的自定义帖子类型分类

时间:2017-02-27 05:16:06

标签: php wordpress custom-post-type custom-taxonomy

我在自定义帖子类型为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; ?>

2 个答案:

答案 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。

更多信息:

WP_QUERY

答案 1 :(得分:0)

我认为问题在于您的自定义分类名称category,因为category已与帖子类型post相关联。所以你得到一个空白输出。

如何修复 ::将category重命名为photos_cat (或使用您希望的任何名称)

希望这有帮助!