为了账号安全,请及时绑定邮箱和手机立即绑定

在 WordPress 循环中的第一篇文章后插入内容

在 WordPress 循环中的第一篇文章后插入内容

PHP
LEATH 2022-07-22 10:40:21
我想在 index.php 循环中的第一个帖子之后显示一个类别列表(这是我的 WP 主题用来显示帖子的模板)。我在网上四处搜索,发现了一些代码(见下文),它应该按照我的意愿进行 - 注入一个类别标题列表作为循环中帖子列表之间的链接。但是,它没有按预期工作。它只显示一个类别标题,而不是全部。有趣的是,它显示第一个帖子类别的标题(自定义代码之前的帖子),但没有其他内容。我的 Loop 代码,包括我插入的自定义代码,如下:<?php if (have_posts()) : while (have_posts()) : the_post(); ?><?php get_template_part('content'); ?>// START CUSTOM CODE<div><?php if( $wp_query->current_post == 0 ) {   $categories = get_the_category();  $separator = ' ';  $output = '';  if($categories){    foreach($categories as $category) {        $output .= '<a href="'.get_category_link( $category ).'" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '">'.$category->cat_name.'</a>'.$separator;    }    echo trim($output, $separator);  }} ?></div>// END CUSTOM CODE<?php endwhile; ?>  希望有人可以提供帮助。
查看完整描述

2 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

您的问题对我来说有点不清楚,但是您似乎想要所有类别的列表,对吗?我认为“$categories = get_the_category();”这一行 仅获取当前(在本例中为第一个)帖子的类别。

如果您想要博客/网站中存在的所有类别的列表,请尝试“get_categories”,https://developer.wordpress.org/reference/functions/get_categories/


查看完整回答
反对 回复 2022-07-22
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

试试这个代码,对你的代码做些小改动......


 <?php if (have_posts()) : $i = 1; while (have_posts()) : the_post(); ?>


<?php get_template_part('content'); ?>


<div class="categories">


<?php 

if( $i == 1){


    $categories = get_categories( array(

        'orderby' => 'name',

        'parent'  => 0

    ) );


    foreach ( $categories as $category ) {

        printf( '<a href="%1$s">%2$s</a><br />',

            esc_url( get_category_link( $category->term_id ) ),

            esc_html( $category->name )

        );

    }

}

?>


</div>



<?php $i++; endwhile; ?>  


查看完整回答
反对 回复 2022-07-22
  • 2 回答
  • 0 关注
  • 112 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信