📌  相关文章
📜  显示自定义帖子类型的类别名称 - PHP (1)

📅  最后修改于: 2023-12-03 15:40:10.696000             🧑  作者: Mango

显示自定义帖子类型的类别名称 - PHP

在WordPress中,我们可以创建自定义帖子类型(Custom Post Types),从而为强大的内容管理功能增添新的维度。在这个过程中,有时候需要显示或获取特定自定义帖子类型的类别(taxonomy)名称,以便更好地组织我们的内容。

以下是一段PHP代码,可以返回一个自定义帖子类型(例如“Products”)的类别(例如“Category”)名称列表:

/**
 * Get taxonomy name of a custom post type in WP
 * @param string $post_type
 * @param string $taxonomy
 * @param string|int $id Optional ID of custom post type. Default is current post ID.
 * @return string|array|null Return string if single category found, array if multiple found, null if none found.
 */
function get_cpt_tax_name( $post_type, $taxonomy, $id = null ) {
    global $post;
    $tax_terms = get_the_terms( $id ? $id : $post->ID, $taxonomy );
    if ( $tax_terms && ! is_wp_error( $tax_terms ) ) {
        $tax_links = array();
        foreach ( $tax_terms as $term ) {
            $tax_links[] = sprintf( '<a href="%s">%s</a>', get_term_link( $term->slug, $taxonomy ), $term->name );
        }
        return count( $tax_links ) > 1 ? $tax_links : implode( ', ', $tax_links );
    }
    return null;
}
  • 代码片段以一个参数为$post_type的自定义帖子类型名称为开头。
  • 通常,我们会为自定义帖子类型设置一个类别(taxonomy),这里需要在第二个参数$taxonomy中传入对应的类别名称(如“Category”)。
  • 此函数还支持一个可选参数$id,用于获取特定自定义帖子类型的ID,否则默认使用当前文章ID。
  • 函数最终返回一个类别名称的列表,格式为一个带有超链接的HTML字符串数组,或者单个类别名称的字符串,或者null(如果未找到类别)。

这是一个非常有用的代码片段,可以帮助WordPress开发人员更方便地管理和展示内容,增强其灵活性和可扩展性。