php 按分类标准获取帖子的主要术语。如果使用Yoast主要术语,请将其返回,否则回退到第一学期。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 按分类标准获取帖子的主要术语。如果使用Yoast主要术语,请将其返回,否则回退到第一学期。相关的知识,希望对你有一定的参考价值。

<?php

/**
 * Get the primary term of a post, by taxonomy.
 * If Yoast Primary Term is used, return it,
 * otherwise fallback to the first term.
 *
 * @version  1.1.0
 *
 * @link     https://gist.github.com/JiveDig/5d1518f370b1605ae9c753f564b20b7f
 * @link     https://gist.github.com/jawinn/1b44bf4e62e114dc341cd7d7cd8dce4c
 * @author   Mike Hemberger @JiveDig.
 *
 * @param    string  $taxonomy  The taxonomy to get the primary term from.
 * @param    int     $post_id   The post ID to check.
 *
 * @return   WP_Term|bool  The term object or false if no terms.
 */
function jivedig_get_primary_term( $taxonomy = 'category', $post_id = false ) {

	// Bail if no taxonomy.
	if ( ! $taxonomy ) {
		return false;
	}

	// If no post ID, set it.
	if ( ! $post_id ) {
		$post_id = get_the_ID();
	}

	// If checking for WPSEO.
	if ( class_exists( 'WPSEO_Primary_Term' ) ) {

		// Get the primary term.
		$wpseo_primary_term = new WPSEO_Primary_Term( $taxonomy, $post_id );
		$wpseo_primary_term = $wpseo_primary_term->get_primary_term();

		// If we have one, return it.
		if ( $wpseo_primary_term ) {
			return get_term( $wpseo_primary_term );
		}
	}

	// We don't have a primary, so let's get all the terms.
	$terms = get_the_terms( $post_id, $taxonomy );

	// Bail if no terms.
	if ( ! $terms || is_wp_error( $terms ) ) {
		return false;
	}

	// Return the first term.
	return $terms[0];
}

以上是关于php 按分类标准获取帖子的主要术语。如果使用Yoast主要术语,请将其返回,否则回退到第一学期。的主要内容,如果未能解决你的问题,请参考以下文章

php 获取当前帖子类型的所有分类和术语

Wordpress 按税收条款获取帖子-税收条款是页面蛞蝓

[WordPress]按术语获取帖子并对其排序

php 创建帖子时自动生成分类术语

php 显示每个分类术语存档页面中的所有帖子

php 使用show_on_cb根据分配了分类术语的帖子/页面显示/隐藏CMB字段