首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将post标签作为类添加到自定义post类型循环中?

将post标签作为类添加到自定义post类型循环中的方法如下:

  1. 首先,需要创建一个自定义的post类型。可以使用WordPress提供的register_post_type函数来实现。例如,创建一个名为"custom_post"的自定义post类型:
代码语言:txt
复制
function create_custom_post_type() {
    register_post_type('custom_post',
        array(
            'labels' => array(
                'name' => 'Custom Posts',
                'singular_name' => 'Custom Post'
            ),
            'public' => true,
            'has_archive' => true,
            'supports' => array('title', 'editor', 'thumbnail')
        )
    );
}
add_action('init', 'create_custom_post_type');
  1. 接下来,需要创建一个名为"custom_tag"的自定义分类法(taxonomy),用于给自定义post类型添加标签。可以使用register_taxonomy函数来实现。例如:
代码语言:txt
复制
function create_custom_taxonomy() {
    register_taxonomy(
        'custom_tag',
        'custom_post',
        array(
            'label' => 'Custom Tags',
            'rewrite' => array('slug' => 'custom-tag'),
            'hierarchical' => true
        )
    );
}
add_action('init', 'create_custom_taxonomy');
  1. 现在,可以在自定义post类型的循环中使用post标签作为类。可以使用WP_Query类来获取自定义post类型的循环,并使用get_the_terms函数获取每个post的标签。例如:
代码语言:txt
复制
$args = array(
    'post_type' => 'custom_post',
    'posts_per_page' => 10
);

$query = new WP_Query($args);

if ($query->have_posts()) {
    while ($query->have_posts()) {
        $query->the_post();
        
        $post_tags = get_the_terms(get_the_ID(), 'custom_tag');
        $post_classes = array();
        
        if ($post_tags && !is_wp_error($post_tags)) {
            foreach ($post_tags as $tag) {
                $post_classes[] = $tag->slug;
            }
        }
        
        echo '<div class="' . implode(' ', $post_classes) . '">';
        the_title();
        echo '</div>';
    }
    
    wp_reset_postdata();
} else {
    echo 'No custom posts found.';
}

以上代码会获取10个自定义post类型的循环,并将每个post的标签作为类添加到对应的HTML元素中。

这是一个基本的示例,你可以根据自己的需求进行修改和扩展。另外,腾讯云提供了云服务器、云数据库、云存储等相关产品,可以根据具体需求选择适合的产品。你可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多详情。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【译】WordPress 中的50个过滤器(5):第31-40个过滤器

> 上面的代码起作用后,标签不会主动添加到[ gallery]这个短代码中。 过滤附件url 相关过滤器名称为wp_get_attachment_url()。...> 设置电子邮件的默认文本类型 wp_mail()函数默认会使用text/plain作为文本类型,通过这个wp_mail_content_type过滤器,你可以自定义之。...> 添加文章CSS名 body_class这个过滤器在WordPress 开发中常常用到,那么你知道有个post_class过滤器可以让你在文章内添加自定义的CSS 吗?...例子:在循环中为第一篇文章添加特别标记的 <?...> 这样就为你的WordPress 网站的第一篇文章添加了.first-post 这个,之后在开发中你就可通过CSS 自定义.first-post 的样式而不用担心因为使用:first这个伪而产生的跨浏览器兼容问题了

1.1K70
  • wordpress 学习笔记 (二)

    ] 分类目录文章下的第一篇文章 [ is ] 开头的函数说明: [is_xxx] => 1,如果后面箭头=> 1,则表示xx对应类型的网页 例子: [is_archive] => 1 归档页面 [is_catgory...9.附件详情页的查询 [queried_object] 附件的详细信息 [is_attachment] 附件的详情页 [post_mime_type] 附件类型:MIME [posts] [post]...:为自定义页面的时候 查询出来是设置的页面 11.搜索页的查询 [is_serch] => 当前页是搜索页 没有[query_object]的字段 12....edit_post_link() get_edit_post_link() 编辑链接 the_tags() get_the_tags() 文章标签 the_time() get_the_time(...获取文章所属的标签信息(tags) wp模板标签the_tags用于在文章页输出标签链接 函数参数 ① $before 字符串值,默认值:null 在标签链接 前 显示的文本。

    94720

    WordPress主题开发基础:Body 指南

    如果没有,可以通过修改body标签来添加,如下所示: > WordPress根据显示的页面类型自动添加适当的。...现在,该插件会将您的自定义CSS添加到该特定文章或页面的body。 在Body上使用条件标签 当body_class函数与条件标签一起使用时,它才真正发挥作用。...这允许主题开发人员在将自定义CSS添加到body_class函数之前检查条件是否为true或false。 让我们看一些使用条件标签自定义添加到body的示例。...现在,在这种情况下,您可以将条件标记与一些自定义代码一起使用,以将自定义动态添加到body。 为此,您需要将以下代码添加到主题的functions.php文件中。...这将为您的代码提供一组方便使用的标签。 动态添加自定义body的其他示例 除了条件标签外,您还可以使用其他技术从WordPress数据库中获取信息并为body创建自定义CSS

    2.1K20

    Unity通用渲染管线(URP)系列(十四)——多相机(Camera Blending & Rendering Layers)

    由于设置是一个,因此该属性必须确保该类存在,因此如有必要,请创建一个新的设置对象实例。而不存在的可能原因是,该组件尚未由编辑器序列化,或者在运行时将其添加到摄像机之后。 ? ??怎么用?...现在,每个摄像机都可以使用默认或自定义Post FX。...为此方法创建一个静态的ReinterpretExtensions,该类最初只是执行常规的类型转换。 ?...(相机渲染层掩码 暴露为整数) 要将掩码显示为下拉菜单,我们需要为其创建自定义GUI。但是,与其为整个CameraSettings创建一个自定义编辑器,不如让它仅用于渲染层掩码。...现在,创建一个继承自PropertyDrawer的自定义属性drawer编辑器,并为我们的属性类型添加CustomPropertyDrawer属性。

    8.7K22

    Android之View绘制问题汇总

    SpecMode和SpecSize打包和解包的方法 3、测量模式SpecMode的类型和具体含义?...其中主要做两件事: 创建ViewRootImpl实例 root.setView(decor, ….)将DecorView作为参数添加到ViewRoot中,这样就将DecorView加载到了Window...9、自定义View性能优化有哪些? 避免过度绘制 像素点能画一次就不要多次绘制,以及绘制看不到的背景。开发者选项里内的工具,只对xml布局有效果,看不到自定义View的过度绘制,仍然需要注意。...应该避免在for或while循环中做计算。比如:去计算屏幕宽度等信息。 避免创建大量对象造成频繁GC 应该避免在for或while循环中new对象。这是减少内存占用量的有效方法。...Paint提供了reset方法。可以在初始化View时创建对象。 要避免冗余代码,提高效率。 复合View,要减少布局层级。

    1.1K20

    PageAdmin、WordPress与dedeCMS网站模板制作总结

    PageAdmin、WordPress与dedeCMS作为国内三大cms建站系统,经常在功能性,操作性和负载等方面进行对比,每个cms的侧重点都不一样,所以没有绝对的哪个好,哪个不好,有的只是是否你的网站类型...li> } PageAdmin的数据调用采用@开头,语法和javascrip非常类似,有javascript前端基础的很容易掌握,razor支持变量和计算,在{}内可以支持自定义变量...2、DedeCms dedecms模板制作采用自己设计的一套标签,由标签名,属性,和InnerText构成,下面以织梦最常用的dede:list标签为例进行演示。...,相对于pageadmin的razor语法来说,灵活度没有那么好,而且循环中不支持自定义变量,不支持If,switch等判断,不支持加减乘除计算。...php foreach( $posts as $post ) : setup_postdata( $post ); ?> <a href=”<?php the_permalink() ?

    4.5K40

    在 Spring Boot 中,如何干掉 if else

    我们先看看业务处理器的写法: 首先每个处理器都必须添加到spring容器中,因此需要加上@Component注解,其次需要加上一个自定义注解@HandlerType,用于标识该处理器对应哪个订单类型...自定义注解 @HandlerType: 抽象处理器 AbstractHandler: 自定义注解和抽象处理器都很简单,那么如何将处理器注册到spring容器中呢?...具体思路是: 1、扫描指定包中标有@HandlerType的; 2、将注解中的类型作为key,对应的作为value,保存在Map中; 3、以上面的map作为构造函数参数,初始化HandlerContext...HandlerProcessor: ClassScanner:扫描工具源码 HandlerProcessor需要实现BeanFactoryPostProcessor,在spring处理bean前,将自定义的...本文只是提供一个大致的思路,还有很多细节可以灵活变化,例如使用枚举类型、或者静态常量,作为订单的类型,相信你能想到更多更好的方法。

    1.2K60

    Android 通过API获取数据库中的图片文件方式

    Overview 今天复习了一下Android 如何将我们数据库中图片获取出来,并且将其转换为bitmap进行显示。...开发环境以及技术 使用Visual Studio 2019 Android Studio 3.5 API 使用 ASP .NET WEB API 开发 数据库操作只用Entity Framework 使用本地数据库作为数据源...GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear(); } } 我们需要在我们的WebApiCinfig的中添加一句代码这样我们就将所有的端口返回数据变成了...public static Bitmap stringToBitmap(String pictureString) { //使用Base64将String 转换为 Bitmap 类型 byte[...请求(必须有,数据自定义) //params.add(new BasicNameValuePair("end", end+""));//可添加多个Post请求码,php中按键值对获取 httpRequest.setEntity

    6K20

    Flask入门很轻松(三)—— 模板

    {title}} {{title}} Jinja2 模版中的变量代码块可以是任意 Python 类型或者对象...URL,在模板中始终使用url_for()就可以安全的修改路由绑定的URL,则不比担心模板中渲染出错的链接: {{url_for('home')}} 如果我们定义的路由URL是带有参数的,则可以把它们作为关键字参数传入...div> {% endfor %} 循环和if语句可以组合使用,以模拟 Python 循环中的 continue 功能,下面这个循环将只会渲染post.text不为None的那些post: {% for...不能在一个模板文件中定义多个相同名字的block标签。 当在页面中使用多个block标签时,建议给结束标签起个名字,当多个block嵌套时,阅读性更好。...session加密的时候已经配置过了.如果没有在配置项中设置,则如下: app.secret_key = "#此处可以写随机字符串#" 2 导入 flask_wtf.csrf 中的 CSRFProtect

    2K20

    Mastercam 的后处理中有些什么内容?

    标题行(Header line):在这里体现 Mastercam 的版本和后处理类型,必须与.mcam-control 文件中的信息一致。...后处理主体(Body of the post):这部分里有各种后处理块(post blocks),运算逻辑(processing logic),变量声明(variable declarations)和格式语句...后处理文本(Post text):这个部分储存了许多文字标签(Text label),这些标签会被用来自定义 Mastercam 的界面。...)的名称 每个循环中各个参数的名称 刀路转换操作(transform operations)中自定义设置及参数的名称 车削零件处理(Part Handling)操作中的自定义设置及参数的名称 刀路中刀具参数...(Tool parameters)页面里,各个字段或按钮的标签

    77420

    什么是Mastercam的后处理?

    标题行(Header line):在这里体现 Mastercam 的版本和后处理类型,必须与.mcam-control 文件中的信息一致。...后处理主体(Body of the post):这部分里有各种后处理块(post blocks),运算逻辑(processing logic),变量声明(variable declarations)和格式语句...后处理文本(Post text):这个部分储存了许多文字标签(Text label),这些标签会被用来自定义 Mastercam 的界面。...)的名称 每个循环中各个参数的名称 刀路转换操作(transform operations)中自定义设置及参数的名称 车削零件处理(Part Handling)操作中的自定义设置及参数的名称 刀路中刀具参数...(Tool parameters)页面里,各个字段或按钮的标签

    1.4K10

    WordPress主题开发,从入门到精通。

    ' ,[array( 'post' )]); 启用指定类型文章的缩略图功能,不指定第二个参数时默认为全部文章启用缩略图功能; post-formats:文章形式。...(就时间和服务器资源而言)而把许多选项作为数组存储和获取时,只会产生一个数据库事务,这是一种比较理想的操作。...php //访问分类或者标签时返回分类和标签的wp_term对象 $term = get_queried_object(); WP_Rewrite对象 WP_Rewrite是 WordPress 的...p (Object) - 添加到的方法集合。 root (Object) - 可选的根对象默认为全局窗口对象。...可传入参数如下: frame,代表创建的窗体类型,可选值select、post、manage、image、audio、video、edit-attachments on(),绑定事件。

    10.6K40

    Retrofit自定义请求参数注解的实现思路

    parameterTypes 参数类型,Type[] 类型 parameterAnnotationsArray 参数注解,Annotation[][] 类型 在构造函数中,我们主要对这 5 个属性赋值...) { parseHttpMethodAndPath("POST", ((POST) annotation).value(), true); } 我省略了大部分的代码,整段的代码其实就是来判断方法注解的类型...++) { handlers[p].apply(requestBuilder, args[p]); } return requestBuilder.build(); } 可以看到在 for 循环中执行了每个参数对应的参数处理器的...body = RequestBody.create(null, new byte[0]); } } 自定义 POST 请求的参数注解 @BodyQuery 根据上述流程,想要自定义一个参数注解的话,...涉及到以下改动点: 新增 @BodyQuery 参数注解 新增 BodyQuery 用来处理 @BodyQuery 声明的参数 ServiceMethod 中的 parseParameterAnnotation

    2K20

    用ASP.NET Core 2.0 建立规范的 REST API -- 预备知识

    如果使用复杂类型Person来获取person参数好像不行,只能使用原始类型的吧? 实体验证 ASP.NET Core内置的实体验证是通过验证属性标签来实现的,大多数情况下这样会很方便。 例如: ?...其中Display不是验证标签,但是通过它可以自定义属性的显式名称,在其它错误信息里可以使用{0}来引用该名称。...ASP.NET Core内置支持两种方式来进行自定义验证:通过继承ValidationAttribute来创建自定义验证属性标签,或者让实体实现IValidatebleObject接口。...使用自定义验证属性标签: ? 把该标签放到name属性上 ? 使用刚才的请求,其结果是: ? 另一种方式,在Person实现IValidatableObject接口 ?...过滤器可以作为属性标签使用,或者也可以在Startup里面进行全局注册。

    1.7K00

    Laravel Eloquent 模型关联关系详解(上)

    以文章标签为例,文章表已经存在了,还需要创建一张 tags 表和中间表 post_tags。...Post 模型上的标签信息了: $post = Post::findOrFail(1); $tags = $post->tags; 返回的是个模型集合: 当然,你也可以通过前面提到的渴求式加载方式获取标签数据...')->withTimestamps(); } 自定义中间表模型 你还可以通过自定义中间表对应模型实现更多自定义操作,中间表模型继承自 Illuminate\Database\Eloquent\...Relations\Pivot,Pivot 也是 Eloquent Model 的子类,只不过为中间表操作定义了很多方法和属性,比如我们创建一个自定义的中间表模型 PostTag: namespace...'; } 这样,我们在定义多对多关联关系的时候指定自定义的模型了: public function tags() { return $this->belongsToMany(Tag::class

    9.9K40
    领券