在WordPress中显示分类子类别

摘要

要显示当前类别的子类别,以及在存档页面和分类页面上显示父类别,请使用此解决方案:

要显示当前类别的子类别,以及在存档页面和分类页面上显示父类别,请使用此解决方案:

第一步

在 function.php 文件中添加一个函数:

if ( ! function_exists( 'fixcode_post_categories' ) ) {
	/**
	 * 在所有帖子类型中显示子类别的功能
	 */
	function fixcode_post_categories() { 

		global $wp_query;

		//获取分类的名称。 由于在不同的地方
                //以不同的方式接收,获取了两次。
                //如果只需要特定的分类,只需
                //设置 $taxonomy = 'my_tax'; 而不是下面的代码
		
		$tax_1 = $wp_query->queried_object->taxonomies['0'];
		$tax_2 = $wp_query->query_vars['taxonomy'];
		
		if ($tax_1) {
			$taxonomy = $tax_1;
		} else {
			$taxonomy = $tax_2;
		}
		
		//我们获取类别 ID 以获取其嵌套的 ID。 如果 ID 为空,那么我们将获取父类别。
		
		$term_id = get_queried_object()->term_id;
		if ($term_id) {
			$parent = '';
		} else {
			$parent = 0;
		}
		
		//获取类别列表
		
		$categories = get_terms($taxonomy, [
		'hide_empty' => false,
		'child_of'=> $term_id,
		'parent' => $parent
		] );
		
		//显示类别列表
		
		echo '<div class="row">';
			foreach ($categories as $category) {
				echo '<div class="col-md-3">';
				echo '<div class="item-category">';
				echo '<div class="category-name"><a href="'.get_term_link($category->term_id).'">'.$category->name.'</a></div>';
				echo '</div>';
				echo '</div>';
			}
		echo '</div>';
	}
}
//为类别操作添加输出
add_action( 'categories','fixcode_post_categories', 10 );
第二步

现在,在模板中的正确位置,只需添加:

<?php do_action( 'categories' );?>

显示子类别就是这么容易,代码很容易理解。

倾尘SEO
  • 本文由 发表于 2022年3月6日22:54:01
  • 本站部分资源来源于互联网,如有侵权请联系站长!将第一时间做删除处理!

发表评论