marspress/post-type

WordPress 中启动新文章类型的实用程序包。

1.0 2021-12-08 21:37 UTC

This package is auto-updated.

Last update: 2024-09-09 03:39:40 UTC


README

安装

在您的 composer.json 中添加 composer 包 marspress/post-type,最小 dev-main 或运行 composer require marspress/post-type

资源

用法

创建新的文章类型

$myPostType = new \MarsPress\PostType\Type();

类型类接受 13 个参数,其中 4 个是必需的,9 个是可选的。

  • 键(必需)(字符串)
    • 文章类型的唯一标识符。
    • 只能包含小写字母、连字符和下划线。
    • 重要:键的长度不应超过 20 个字符。WordPress 中的文章类型键最长只能为 20 个字符。
  • 单数标签(必需)(字符串)
    • 文章类型的单数标签。
    • 在管理菜单和区域中显示。
  • 复数标签(必需)(字符串)
    • 文章类型的单数标签。
    • 在管理菜单和区域中显示。
  • 支持(必需)(数组)
  • 别名(可选)(字符串)
    • 自定义文章类型的别名。
    • 默认为 key
    • 应给出不带前后斜杠的值。例如,test/sample 将导致您的文章永久链接为 /test/sample/
  • 图标(可选)(字符串)
  • 菜单位置(可选)(整数)
  • 有存档(可选)(布尔值)
    • 是否为文章类型生成存档路由。
    • 默认为 true
    • 例如,如果为真,将根据您的文章类型别名生成存档路由,存档路由将为 /test/sample/
  • 公开(可选)(布尔值)
    • 如果文章类型应该对公众可见。
    • 默认为 true
    • 通常应始终为真,除非您专门使用文章类型进行管理用途。
  • 显示在 REST 中(可选)(布尔值)
    • 如果文章类型应通过 REST API 使用。
    • 默认为 true
    • 重要:因为 Gutenberg 使用 REST API,所以如果您必须使用 editor 支持,此值应为 true
  • 覆盖(可选)(布尔值)
    • 如果您的文章类型应覆盖现有文章类型。
    • 默认为 false
    • 如果您需要修改任何核心 WordPress 文章类型或来自其他插件的文章类型,这很有用。
  • 翻译界面(可选)(布尔值)
    • 是否应在管理界面中翻译文章类型标签。
    • 默认为 true
    • 如果您有多语言网站但希望管理区域保持英文,这很有用。
  • 文本域(可选)(字符串)
    • 用于翻译界面的文本域。
    • 默认为 key
    • 仅当翻译界面设置为 true 时使用。

注册自定义重写规则

您必须已经使用以下代码初始化了一个新的类:$myPostType = new \MarsPress\PostType\Type();

然后,您可以使用以下代码调用 add_rewrite_rule 方法:$myPostType->add_rewrite_rule();

重要提示:在注册新的重写规则后,需要刷新规则缓存。您可以在WordPress管理后台通过访问“设置”>“永久链接”,然后点击“保存更改”按钮(实际上您不需要进行任何更改)来完成此操作。

add_rewrite_rule 方法接受3个参数,2个必需,1个可选。

  • 规则(必需)(字符串)
    • 这应该是您的正则表达式规则,例如:test/samples/(.*)/(.*)?$
  • 匹配(必需)(字符串)
    • 这应该是您的匹配URL查询。请注意不要将 $matches[] 双引号,因为这会导致PHP警告,并使重写规则失败。
    • 例如:index.php?post_type=sample&sample=$matches[2]&sample_category=$matches[1]
    • 所有前端WordPress的匹配都将从 index.php 开始。
  • 之后(可选)(字符串)
    • 这设置了WordPress重写规则堆栈中的规则优先级。
    • 默认为 top
    • 有效值是 topbottom

可用方法

您必须已经使用以下代码初始化了一个新的类:$myPostType = new \MarsPress\PostType\Type();