GG资源网

WordPress短代码Shortcode的使用教程(WordPress注册文章类型函数:register_post_type)

WordPress短代码Shortcode的使用教程

wordpress短代码的作用是,把它放到文章或者页面时,它会被替换成一些其它的内容。

wordpress短代码的使用非常简单,比如我们想显示最新的文章,可以使用短代码

或者设定一个参数来控制实现文章的数量

或者给短代码增加一个标题
[recent-posts posts=”9″]最新文章[/recent-posts]

创建短代码的步奏

1、创建一个函数,当wordpress发现短代码的时候会调用此函数
2、设置唯一的名称,来注册短代码
3、把注册的函数绑定到wordpress的action上

实例说明

1、创建回调函数

当wordpress发现短代码时,会用这段函数的代码进行替换

如上代码,我们创建了一个回调函数,获取最新文章,并返回一个带链接的字符串,注意回调函数不打印任何内容,而是返回一个字符串。

2、注册短代码

现在我们注册一个短代码,以便wordpress可以识别

当文章中发现短代码[recent-posts]时,将会自动调用recent_posts_function()函数

3、将短代码绑定到wordpress的钩子上

现在可以创建一篇文章将短代码加入到文章中看看是否好用吧。

进阶短代码

1、短代码的参数

短代码非常灵活,它允许我们添加参数,假如我们要显示一定数量的最新文章,我们可以这样写

但是如何在自定义函数中获取到短代码的参数呢?这里我们要用到两个函数shortcode_atts()函数和extract函数

shortcode_atts 作用是把用户短代码的属性和本地属性相结合
extract 此为PHP的函数,它可以提取短代码的各个属性。

扩展一下我们之前的函数,传递一个参数$atts

如果短代码中不传递参数,posts=>1 将是默认值,传递完参数将用参数的值,注意一下,短代码可以添加多个参数

2、短代码中添加内容

进一步扩展我们的短代码函数,添加一些内容作为参数传递,这将是最新文章列表的标题。为了实现这种功能,我们需要在函数中添加第二个参数$content。

上面的回调函数,短代码使用于[recent–posts posts=”5″]最新文章[/recent–posts]

在其它地方显示短代码

默认情况下侧边栏是忽略短代码的,想要实现需要添加对应的过滤函数

1、在侧边栏显示

2、在评论页面显示

3、在摘要中显示

WordPress注册文章类型函数:register_post_type

WordPress函数register_post_type用于注册新的文章类型,不应该在init动作前挂载,所有分类法都通过$taxonomies参数注册,以确保在使用诸如“parse_query”或“pre_get_posts”之类的钩子时的一致性。

函数参数

$post_type

字符串

自定义文章类型,只能包含小写字母、数字或下画线,可以使用sanitize_key()函数检查。

$args

数组或字符串

label

字符串

菜单中显示的文章类型的名称。

labels

数组

文章类型的标签数组,如果没有设置,非层级的文章类型继承post标签,层级的文章类型继续page标签。

description

字符串

文章类型的简要描述。

public

布尔值,默认值:false

是否在管理界面或公开给前端用户使用。

hierarchical

布尔值,默认值:false

是否支持层级

exclude_from_search

布尔值,默认值:继承$public

是否在前端搜索结果中排除该文章类型

publicly_queryable

布尔值

是否可以作为parse_request()的一部份在前端对post执行查询

show_ui

布尔值,默认值:继承$public

是否在后台管理中显示

show_in_menu

布尔值,默认值:继承$show_ui

是否在后台菜单中显示

show_in_nav_menus

布尔值,默认值:继承$public

是否在导航菜单中显示

show_in_admin_bar

布尔值,默认值:继承$show_in_menu

是否在后台工具栏中显示

show_in_rest

布尔值

是否在REST API中使用,设置为true将在块编辑器中可用

rest_base

字符串,默认值:$post_type

更改REST API的基础路径

rest_controller_class

字符串,默认值:WP_REST_Terms_Controller

REST API控制器类名

menu_position

整数

在菜单位置中显示文章类型,要显示,$show_in_menu的值必须为true

menu_icon

字符串

菜单的图标,传递base64编码的SVG图像

capability_type

字符串或数组

用于构建读取、编辑和删除功能的字符串

capabilities

数组

该文章类型的权限

  • edit_post、read_post和delete_post:根据上下文映射到相应的原始权限,即正在编辑/读取/删除的帖子以及正在检查的用户或角色。因此,这些权限通常不会直接授予用户或角色;
  • edit_posts:编辑文章;
  • edit_private_posts:编辑私有文章;
  • edit_others_posts:编辑其他用户的文章;
  • edit_published_posts:编辑已发布的文章;
  • publish_posts:发布文章;
  • read:控制是否可以阅读这个文章类型;
  • read_private_posts:阅读私有文章;
  • delete_posts:删除文章;
  • delete_private_posts:删除私有文章;
  • delete_published_posts:删除已发布的文章;
  • delete_others_posts:删除其他用户的文章。

map_meta_cap

布尔值,默认值:false

是否使用内部默认meta

supports

数组

文章类型支持的核心功能,核心功能包括“标题”,“编辑”,“评论”,“修订”,“引用”,“作者”,“摘录”,“页面属性”,“缩略图”,“自定义字段”和“文章格式”

register_meta_box_cb

回调函数

通过回调函数来设置meta boxes

taxonomies

数组

文章类型要使用的分类法,分类法通过register_taxonomy()函数注册

has_archive

布尔值,默认值:false

是否应该有该文章类型的归档

rewrite

布尔值或数组

是否启用URL重写,设置为false禁止URL重写,默认为true

  • slug:别名,默认值:$post_type;
  • with_front:布尔值,是否应在permastruct前面加上WP_Rewrite::$front,默认为true;
  • feeds:布尔值,是否支持feeds,默认值继承$has_archive;
  • pages:布尔值,固定链接是否提供分页功能,默认为true;
  • ep_mask:要分配的端点掩码,如果未指定并且设置了permalink_epmask,则继承自$ permalink_epmask。 如果未指定并且未设置permalink_epmask,则默认为EP_PERMALINK。

query_var

字符串或布尔值

设置该文章类型的查询Key,默认为$post_type,如果为false,则无法以?{query_var}={post_slug}的方式加载文章

can_export

布尔值,默认值:true

是否允许导出文章

delete_with_user

布尔值

删除用户时是否同步删除该用户的文章,默认为空,表示文章类型支持作者功能时则删除文章。

template

数组

用作编辑器会话的默认初始状态的块数组,每个项目都应该是一个包含块名称和可选属性的数组。

template_lock

布尔值或字符串

如果设置了$template,是否应该锁定块模板。如果设置为“all”,则用户将无法插入新块,移动现有块和删除块。如果设置为“insert”,则用户可以移动现有块,但无法插入新块和删除块。 默认为false。

_builtin

布尔值,默认为false

仅限内部使用,如果文章类型是内置类型,则为true。

_edit_link

字符串

仅限内部使用,用于文章编辑链接的字段post.php?post=%d

函数使用示例

扩展阅读

register_post_type()函数位于:wp-includes/post.php

相关函数:

  • sanitize_key()
  • register_taxonomy()
由于网站搬家,部分链接失效,如无法下载,请联系站长!谢谢支持!
1. 带 [亲测] 说明源码已经被站长亲测过!
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版ripro用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
10.如果您购买了某个产品,而我们还没来得及更新,请联系站长或留言催更,谢谢理解 !
GG资源网 » WordPress短代码Shortcode的使用教程(WordPress注册文章类型函数:register_post_type)

发表回复

CAPTCHAis initialing...