显示正确的类别名称并修复帖子标题永久链接wordpress

时间:2016-10-22 11:59:30

标签: php wordpress

我使用此代码在不同的div中显示不同的帖子。

我有两个问题:

  1. 我无法向当前帖子显示正确的类别名称。

    • 使用时,同一类别名称适用于2个帖子:

      get_category_link($recent['ID'])
      
  2. 点击帖子标题会将我重定向到主页,而不是发布在页面上!

        <div class="modulex">
            <?php
            $args = array('numberposts' => '1', 'post_status' => 'publish', 'offset' => '2');
            $recent_posts = wp_get_recent_posts($args);
    
            foreach ($recent_posts as $recent) {?>
    
               <div><?php echo get_the_post_thumbnail($recent['ID'],'small', array('class'=>'img-fluid')); ?></div>
                <div class="spanlike"><h6><a href="<?php get_permalink($recent["ID"]) ?>"><?php echo $recent["post_title"] ?></a></h6></div>
    
            <?php } ?>
        </div><?php
        wp_reset_query();
        ?> 
    

1 个答案:

答案 0 :(得分:0)

  1. 问题在于get_category_link需要类别 ID作为参数,而不是帖子ID。要解决这个问题,您必须执行以下几个步骤:

    • 检索帖子的类别列表
    • 决定从列表中使用哪个类别(假设每个帖子只有一个类别,只使用第一个/唯一一个)
    • 获取此类别的链接


    我建议使用自定义功能。以下示例。

  2. 在这里,我认为你的问题是get_permalink返回而不是回声。您可以改为使用the permalink

    <div class="spanlike"><h6><a href="<?php the_permalink($recent["ID"]) ?>"><?php echo $recent["post_title"] ?></a></h6></div>
    
  3. 从帖子ID中检索类别链接的示例函数:

    function get_cat_link_from_postID($postID) {
      $categories = get_the_category($postID);
      $catID = $categories[0]->term_id;
      return get_category_link($catID);
    }