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

Wordpress -尝试仅检索循环中自定义post的直接子对象

基础概念

WordPress 是一个流行的开源内容管理系统(CMS),它允许用户轻松创建和管理网站内容。在 WordPress 中,"自定义帖子类型"(Custom Post Types)是一种扩展 WordPress 功能的方式,它允许你创建除了标准帖子(Posts)和页面(Pages)之外的新类型的内容。

"循环"(Loop)是 WordPress 中用于遍历和显示帖子内容的 PHP 代码块。通过循环,你可以访问当前查询中的每个帖子,并输出其标题、内容等信息。

"直接子对象"通常指的是在某种层级结构中直接位于另一对象之下的对象。在 WordPress 的上下文中,这可能意味着要检索特定自定义帖子类型的直接子分类目录(Categories)或标签(Tags)。

相关优势

  • 灵活性:自定义帖子类型提供了比标准帖子和页面更灵活的内容管理选项。
  • 组织性:通过创建特定的内容类型,你可以更好地组织和展示网站内容。
  • 可扩展性:自定义帖子类型可以与其他 WordPress 插件和功能集成,增强网站的功能性。

类型

在 WordPress 中,自定义帖子类型可以是:

  • 标准内容:类似于传统的博客帖子,但具有不同的名称和属性。
  • 附件:如图片、视频等媒体文件。
  • 自定义内容:根据项目需求定制的特殊类型内容。

应用场景

自定义帖子类型适用于多种场景,例如:

  • 电子商务网站:创建产品、订单等自定义帖子类型。
  • 作品集网站:为不同类型的项目创建自定义帖子类型。
  • 新闻网站:创建不同类别的新闻帖子类型。

解决问题的方法

如果你想要在 WordPress 循环中仅检索自定义帖子的直接子对象(例如子分类目录),你可以使用 get_terms 函数结合适当的参数来实现。以下是一个示例代码:

代码语言:txt
复制
<?php
// 假设你的自定义帖子类型名为 'portfolio'
$post_type = 'portfolio';

// 获取该自定义帖子类型的直接子分类目录
$child_terms = get_terms([
    'taxonomy'   => 'category', // 或者 'post_tag' 如果你想要获取标签
    'parent'     => 0,          // 仅获取顶级分类目录
    'hide_empty' => false,      // 是否隐藏空的分类目录
    'object_ids' => wp_list_pluck(get_posts(['post_type' => $post_type]), 'ID'), // 获取自定义帖子类型的帖子 ID 列表
]);

// 循环输出子分类目录
foreach ($child_terms as $term) {
    echo '<a href="' . get_term_link($term) . '">' . $term->name . '</a><br>';
}
?>

参考链接

这段代码首先获取了自定义帖子类型 'portfolio' 的所有帖子 ID,然后使用这些 ID 来检索直接子分类目录,并在循环中输出它们的名称和链接。

请注意,这段代码假设你已经创建了一个名为 'portfolio' 的自定义帖子类型,并且你的分类目录是按照标准的 'category' 分类法组织的。如果你的设置有所不同,你可能需要调整代码中的参数以适应你的具体情况。

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

相关·内容

WordPress 条件判断标签及用法大全

is_post_type_archive() 判断是否在任何自定义文章类型存档页面(post type archive)。...> 判断页面(sub-Pages) WordPress页面(page)是有父子级关系,判断是否为页面时,没有内置 is_subpage() 这样函数,但是你可以使用下面的方法来判断。...> 如果你经常需要判断页面,强烈建议使用方法2。 如果需要判断父页面是否为某个特定页面,可以使用方法3代码。方法3代码会判断更加详细,从而更加便于自定义和个性化(例如加一些图片)。...判断页面模版(Page Template) 判断当前页面是否由某个页面模版生成,关于页面模版请看我爱水煮鱼上WordPress 教程:自定义页面(Page)模板样式。...判断自定义分类页面(Taxonomy) 自定义分类页面并非是上面的 category 那种分类页面,而是指 WordPress 分类系统页面。

3.6K20
  • 使用 WP_Query 而不是 query_posts 自定义 WordPress 查询

    前面我们介绍了 WordPress 主循环和全局变量,那么如果需要自定义 WordPress 查询进行一些事情,可以有两种方法,最容易方法是使用 query_posts 函数,另外一种方法就是自定义...query_posts 存在问题 使用 query_posts 直接修改 WordPress 默认主循环很方便,只要把对应参数传递给函数即可,主循环查询即可按照新参数去查询,但是这样会造成以下问题...使用 WP_Query 自定义查询 所以最好方法是使用 WP_Query 来创建自定义 WordPress 查询,这样创建查询和 WordPress 主循环隔离开,并不会影响主循环行为。...> 上面我们用了 WP_Query 两个方法,分别是 have_posts 和 the_post,这两个方法具体意思,可以参考这篇文章全局变量和 WordPress 主循环里面的介绍。...这样做好处是在循环中,我们可以使用 WordPress 标准文章相关模板函数,比如下面是使用自定义 Loop 先是最新5篇文章完整代码: 最新日志 <?

    34720

    迁移 valine 评论数据至 wordpress 数据库

    数据关联(主要) 在关联数据时,我们需要解决以下2个问题: valine/wordpress 是如何关联评论数据到对应页面的? valine/wordpress 是如何关联评论数据到父评论?...> 完成上述操作后,应该能在wp根目录看到生成 output.json 文件,打开会发现每条 json 对象已经新增对应 comment_post_ID 文章id对象;再之后将 output.json...关联父级评论(注意项) 完成评论数据文章关联后就剩最后一步了,关联评论到父级评论,利用上面提到原理操作即可,这次我选择直接使用 mysql 进行数据库更新,这样就告别了繁琐读写删改 json 及转换步骤了...下面是实现评论关联 mysql 条件语句及示意图(部分选中数据作观察对比)。...在 valine 中可直接通过 xhr 请求 json 对象返回长度判断评论数量,而 wordpress 中则是储存在 wp_posts 数据表中 publish(已发布) 页面/文章下 comment_count

    11600

    【5分钟玩转Lighthouse】搭建WordPress博客

    下图是Lighthouse创建页面,传送门->,我们本教程中选用新加坡地域WordPress镜像1核1G套餐。确实看得出,整个购买过程相当简洁,需要选择应用镜像和实例套餐就行,体验流畅。...这个管理界面经过社区多年完善优化,目前已经非常人性化了:通过它,我们可以清楚地对网站作者、文章、页面、评论、外观等几乎全部资源对象进行一站式地查看管理。...添加文章可以通过左侧Posts管理界面里Add New按钮直接完成创建;也可以更简单地,如下图直接通过链接“write your first blog post”进入文章编辑界面。...注意Permalink这个属性指的是该文章永久URL链接,可以理解为它是外部访问此文章时用“指定ID”,搜索引擎也是通过Permalink来检索文章。...网站自定义 进入控制面板后,点击几乎是最大按钮Customize Your Site,即可进入网站自定义界面。

    18.4K11740

    WordPress 自定义字段 自定义使用方法

    WordPress自定义字段是个非常有用功能,自定义域是对wp文章功能扩展和补充,通过使用WP自定义字段功能,可以给文章增加些额外内容,如用WP做淘客模板时给产品添加商品价格显示,添加购买链接等...WordPress自定义字段使用方法: 在使用WordPress撰写文章时候,在内容输入框下面有一个“自定义栏目”(没有发现童鞋,在后台顶部,点击“显示选项”——勾选“自定义栏目”) 点击“输入新栏目...”,在名称里输入自定义字段名称,如link,然后在值里输入自定义字段值,如https://qintia.com 然后点击“添加自定义栏目”,最后直接发表文章即可。...提示:每个自定义字段添加一次即可,下次使用可直接在下拉菜单中选择。 自定义字段调用: 参数详解 $post_id 文章ID,如果在循环中,可以用 get_the_ID() 来设置 $key 自定义字段名称(键值) single 是否以字符串形式返回,false会返回数组形式(如果没有设置这个自定义字段的话

    1.8K20

    史上最详细WordPress自定义文章类型指南(1)

    WordPress面向对象 WordPress历史也算比较久远了,开发者众多,因为历史原因和技术原因,一些开发者可能并不喜欢面向对象这种思想,或者在当时面向对象编程还没有成为主流思想,所以WordPress...但是WordPress中一些比较重要部分,比如WP_Query , REST API, 包括本文要介绍Post Type部分都是面向对象,而且WordPress一些插件就是全部使用面向对象,比如...我们使用自定义文章类型时候,要 new 出一个这个类对象来,有了对象,接来了操作就是围绕着这个对象进行了,一般我们不直接使用 new WP_Post_Type 方法来创建对象,而是使用 register_post_type...第三种方法:改数据库 重要提示:任何情况下都要尽量避免直接操作线上数据库,这属于高危操作。以下内容作演示用,如果你对数据库不熟悉,不要轻易模仿,操作失误本人概不负责。操作之前做好备份!...但是如果你想对其进一步自定义的话,WordPress并没有在后台提供自定义文章类型固定链接设置,上文提到Settings中找到Permalink Settings这种设置方式只对自带Post有效,

    4.3K20

    Genesis框架从入门到精通(3):框架内置动作

    loop),自定义循环( Custom loop)和网格化循环( grid loop ) menu.php :控制菜单输出 post.php :基本上这是在循环内加载所有东西 search.php...假设你需要从你网站删除日志描述信息部分。该怎么做?我们知道这个信息是在循环中,因为它在归档视图中每个日志里都出现了。好,现在看看文件,哪一个会处理循环动作?...修改动作 这是处理Genesis 动作时最难搞部分。你必须删除现有动作,然后创建自己函数来替换它。在主题中最常见修改之一是自定义循环。...先直接看下我们最终代码,以便更好解释将要添加到主题中内容,以及如何通过其他动作来达到目的 remove_action('genesis_loop', 'genesis_do_loop'); add_action...你可以使用逗号分隔变量创建多个全局变量 global $post, $query_string; 继续,下一行定义我将定义用于自定义查询$args。

    93830

    5分钟玩转Lighthouse|零基础也能拥有WordPress个人博客

    创建及验证 本教程选用新加坡地域 WordPress 镜像1核1G套餐。看得出来,整个购买过程相当简洁,需要选择应用镜像和实例套餐即可,体验流畅。 ?...在“应用管理”下方点击“首页地址”(更简单点,直接在浏览器输入服务器公网IP),我们将看到 WordPress 站点主页 Hello world! 示例博客。...添加文章可以通过左侧Posts管理界面里Add New按钮直接完成创建;也可以更简单地,如下图直接通过链接“write your first blog post”进入文章编辑界面。...注意Permalink这个属性指的是该文章永久URL链接,可以理解为它是外部访问此文章时用“指定ID”,搜索引擎也是通过Permalink来检索文章。 ?...网站自定义 进入控制面板后,点击几乎是最大按钮Customize Your Site,即可进入网站自定义界面。

    2.4K85

    WordPress

    最近 RIPS 团队公开了一个 WordPress 任意文件删除漏洞(需要登录),目前该漏洞仍然未修复(2018年06月27日),该漏洞影响 Wordpress 最新版 4.9.6。...漏洞原理与危害 该漏洞出现原因是由于在 WordPress wp-includes/post.php文件中wp_delete_attachement()函数在接收删除文件参数时未进行安全处理,直接进行执行导致...这段代码目的是为了在删除图像同时删除图像缩略图。在 WordPress 中通过媒体管理器上传图像被表示为附件类型内容。...$meta['thumb']值,从数据库中检索,并保存成表示图像文章自定义字段。因此,在从数据库检索到unlink()函数调用之间表示缩略图文件名值没有经过任何检查和过滤。...$_POST['thumb']可以变为任意文件路径,这个值可以保存到 WordPress 上传目录相对路径中,当附件被删除时,该文件将被删除。攻击者可利用此漏洞进而执行任意代码。

    93740

    优化WordPress性能高级指南

    前言 虽然玩wordpress,但对wordpress和php内部了解不多,这篇文章算是自己视野扩展吧,不足之处,欢迎指出,老规矩,能力强可以直接读原文。...WordPress允许我们将-1表示为该参数合理值,在这种情况下,系统将尝试获取满足定义条件所有帖子。 这不是一个好做法,即使我们确信我们只会得到一些结果作为回应。...此外,默认情况下wordpress尝试引入置顶帖子(sticky posts),并计算查询中找到行数,这可能会对性能产生不利影响。 通常,我们并不真的需要这些信息。...WordPress提供了一个非常直接方法:使用post__not_in参数。...最后,我们将一个重型数据库查询(使用WP_Query元键)更改为简单直接查询(调用get_post()),这是一个更好和更有效方法。

    7.1K20

    WordPress主题开发基础:Body 类指南

    ,您可以使用CSS来完全自定义WordPress页面。...现在,您可以直接在主题样式表中使用此CSS类。如果您在自己网站上工作,则还可以使用主题定制器中自定义CSS功能添加CSS 。 您可以选择要启用body分类功能文章类型以及谁可以访问它。...不要忘记单击“保存更改”按钮来存储您设置。 接下来,您可以直接编辑WordPress网站上任何文章或页面。...您可以选择要启用body分类功能文章类型以及谁可以访问它。不要忘记单击“保存更改”按钮来存储您设置。 接下来,您可以直接编辑WordPress网站上任何文章或页面。...肯定还有更多方案可以使用body_class函数来避免编写冗长代码行。例如,如果您使用诸如Genesis之类主题框架,则可以使用它在主题中添加自定义类。

    2.1K20

    WordPress 首页文章如何使用分类过滤?

    但是很多人就是不会代码,所以我今天就整理了一下,让你在后台简单操作一下就可以设置,支持显示某几个分类或者不显示某几个分类文章。...在 「WPJAM」 「分类设置」菜单下点击「首页分类」标签页,就一目了然: 并且还增强了一下,支持在多个平台下面的设置,比如你可以单独设置在小程序下首页分类过滤,目前支持四个平台。...附件页面直接图片链接。 配置器 全自动 WordPress 配置器,不用一行代码就可以开发。 支持自定义文章类型,自定义字段,自定义分类,分类选项,全局选项。...文章隐藏 设置文章在列表⻚不显示,并且可以根据不同平台进行设置 Meta Data 可视化管理 WordPress Meta 数据,支持所有内置 Meta 数据: Post Meta,Term Meta...站点选项 查看和管理所有非 WordPress 系统自动生成站点选项。 如果你觉得某个选项无用,可以直接删除它。 后台论坛 WordPress 后台论坛,支持创建帖子,分组,消息。

    1.7K20

    WordPress自定义查询:WP_Query使用

    wordpress默认会根据网址调用数据,不能满足我们所有建站要求,而WP_Query可以用于查询任何你想要内容,相当于自定义数据调用。 wordpress主循环 <?.../页面别名来显示页面 'post_parent' => 1, //(整数) - 页面id,只返回页面,只对有页面的页面有效 'post__in' => array(1,2,3), //(数组)...' 选项覆盖了这里设置,需要使用这个限制,尝试使用 'post_limits' 过滤器,或使用 'pre_option_posts_per_rss'过滤器返回 -1 'posts_per_archive_page...//注意:关于置顶文章更多信息,请参考:http://codex.wordpress.org/Class_Reference/WP_Query#Sticky_Post_Parameters /**...) - 自定义字段键 'meta_value' => 'value', //(字符串) - 自定义字段值 'meta_value_num' => 10, //(数字) - 自定义字段值 'meta_compare

    1.4K20

    WordPress自定义查询WP_Query使用方法大全

    自定义调用文章在网站建设中很常用,wordpress也很人性化,用新建查询new WP_Query就能实现相关功能。WP_Query怎么用呢?...随ytkah一起来看看吧   我们知道wordpress主循环 <?.../页面别名来显示页面 'post_parent' => 1, //(整数) - 页面id,只返回页面,只对有页面的页面有效 'post__in' => array(1,2,3), //(数组)...' 选项覆盖了这里设置,需要使用这个限制,尝试使用 'post_limits' 过滤器,或使用 'pre_option_posts_per_rss'过滤器返回 -1 'posts_per_archive_page...) - 自定义字段键 'meta_value' => 'value', //(字符串) - 自定义字段值 'meta_value_num' => 10, //(数字) - 自定义字段值 'meta_compare

    4.1K41

    WordPress 分类如何实现拖动排序?

    WordPress 默认对分类排序真的是太弱了,支持通过代码方式使用 ID,使用数量(count),名称(name),别名(slug)等字段进行排序,都没有提供自定义分类方法,更别提拖动排序。...所以如果是多层分类模式,只有点击「只显示第一级」之后,才可以对第一层分类进行排序: 如果某个分类下面的分类要进行拖动排序如何操作呢?...点击「下一级」进入该分类分类列表时进行拖动操作: 在前端显示时候,如果调用参数没有显式设置分类排序参数,默认就是按照后台拖动排序之后顺序进行输出。...附件页面直接图片链接。 配置器 全自动 WordPress 配置器,不用一行代码就可以开发。 支持自定义文章类型,自定义字段,自定义分类,分类选项,全局选项。...文章隐藏 设置文章在列表⻚不显示,并且可以根据不同平台进行设置 Meta Data 可视化管理 WordPress Meta 数据,支持所有内置 Meta 数据: Post Meta,Term Meta

    1.7K30

    WordPress 教程:WordPress 角色和权限终极指南

    权限,当然也可以直接 manage_options 权限来控制访问插件和主题选项页面。...所以使用权限系统,就不必去担心 WordPress 不再支持用户等级系统,并且如果想添加和使用自定义权限,也只能使用权限系统。...( 'edit_post', $post_id ); 还有另外一个函数:author_can(),可以用来检查某个文章作者是否具有一定权限: if ( author_can( $post, $capability...) ) { // 如果文章 $post 作者拥有 $capability 时执行动作 } 函数 author_can 第一个参数可以是一个 $post 对象,或一个 Post ID。...: WP_Roles 类 WP_Roles 是一般角色管理类,当我们在插件中使用时候,可以不用实例化一个新对象,而是直接使用 WordPress 默认创建一个全局对象 $wp_roles,可以在任何地方使用它

    2K30
    领券