WordPress 自定义文章类型 获取当前页面分类id、名称、描述、url

最近在写Time时光相册插件的时候,要实现有分类则输出A内容,无分类这输出B内容。但在调用相册页面分类id的地方到一些问题。导致判断操作无法进行。

遂开始搜索寻找WordPress调用自定义分类信息方法,最终可用代码如下:

$post_categories = get_the_terms( $post->ID, '你的自定义文章类型名称' );//获取自定义分类信息
if ( ! empty( $post_categories ) && ! is_wp_error( $post_categories ) ) {
echo $post_categories[0]->term_id;//输出自定义分类的 ID
echo $post_categories[0]->name;//输出自定义分类的名称
echo $post_categories[0]->description;//输出自定义分类的描述
echo $post_categories[0]->slug;//输出自定义分类的别名
}

函数详解:

get_the_terms()函数的介绍

get_the_terms( int|WP_Post $post, string $taxonomy )

其中:

$post:(int|WP_Post) (必需) 帖子 ID 或对象

$taxonomy:(string) (必填) 分类名称

返回值:成功时返回 WP_Term 对象的数组

详细介绍: 官方函数介绍

参考链接:

调用判断与输出

下面的代码是Time插件里写的,可供参考。实现功能为 WordPress自定义文章类型下的单页。获取当前页面分类id并进行判断,如果有id这输出 完整分类信息,如无id代表无分类,则输出空。

 <!-- 分类 -->  
                            <?php
                            $post_categories = get_the_terms( $post->ID, 'photos' );
                            //获取自定义分类信息
                            if ( ! empty( $post_categories ) && ! is_wp_error( $post_categories ) ) {  
                            }
                            $photo_time_categories = $post_categories[0]->term_id; 
                            //判断开始
                            if (empty ( $photo_time_categories )) {  
                            }
                            else { 
                                echo "<li class='single-like'><span>分类: <b>";
                                echo the_terms( $post->ID, 'photos' ,  ' ' );
                                echo "</b></span></li>"; 
                            } ?> 
文章最后更新于 2021-08-20

给TA买糖
共{{data.count}}人
人已赞赏
WordpressWordPress优化

wordpress获取文章内所有图片

2021-8-9 15:34:21

WordpressWordPress优化

WordPress 使用PHP判断手机和PC端显示不同内容

2021-8-21 9:24:27

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧