当前位置: 首页 > 知识库问答 >
问题:

wordpress在删除标题,摘录或编辑器时保存空白自定义帖子

辛渝
2023-03-14

我注意到,每当我从自定义帖子类型中删除标题、编辑器或摘录支持,并且我在没有输入任何信息的情况下保存自定义帖子时,它会显示在自定义帖子类型的“所有帖子”概述中,使用(无标题)作为标题。如果标题、编辑器和摘录支持都用上了,没有内容的帖子好像就被wordpress抛弃了。

就其本身而言,这不是一个真正的问题。一个人不应该在没有输入任何信息的情况下保存帖子,如果它确实发生在管理员的帖子概述中,(没有标题)行可以被删除。

但是,我创建了一个自定义帖子类型,该类型对某些元字段使用其他表单验证(preg_match)。如果这些preg_matches失败,则不会保存帖子,但相反,用户会收到一些自定义错误消息,而输入的数据将以瞬态形式保存,以便显示回用户。

现在的情况是,每当用户输入一些未通过preg_match检查的信息时,由于缺少对title、editor和摘录字段的支持,文章仍会被保存。没有存储任何输入信息,所以它只是一篇空白文章,但在所有文章概述的列中显示为一行空白。

通过添加对标题、html" target="_blank">编辑器和摘录的支持,可以很容易地解决这个问题,但我不想在我的自定义帖子类型中添加这些内容。

wordpress似乎会检查这些字段中是否输入了数据,如果其中任何字段中都没有输入数据,则会在保存时丢弃帖子。但是如果这些字段根本不存在,那么它们就不能被检查,帖子也会被存储?

有什么办法解决这个问题吗?

这是我确切意思的图像:

空行

共有1个答案

麹权
2023-03-14

我在wordpress论坛上得到了一个答案:

删除标题、摘录或编辑器时保存空白、自定义帖子

如果标题和其他字段支持存在,您所指的丢弃空帖子的行为由“wp_insert_post_empty_content”过滤器管理。如果你钩这个过滤器,你可以做任何你喜欢的其他检查。如果您的自定义字段不在传递的post数组中(第二个参数),数据应该仍然在$_POST中。

由于您没有title和其他常用的支持,因此始终会将false值作为第一个参数传递。回调需要做的就是返回true,并中止post保存,从WP_insert_post()调用返回一个WP_Error对象

 类似资料:
  • 问题是...当我点击编辑文章/编辑页面时,它试图打开http://localhost/site/wp-admin/post-108.php?post=286 我不记得我到底做了什么,但它一定是在我的IDE重构代码后开始的,当时我正在重命名模板文件。 没有邮政108。php在wp admin文件夹或我的主题文件夹中,但有帖子。php。我不知道它为什么要开108后。不存在的php。 注意:这是一个自定

  • 我想向Wordpress中的现有页面添加一些额外的表单字段。每当您编辑帖子或页面时,此页面都会被重定向。我的问题是我不知道在哪里找到这个文件或者它的名字。 我需要知道我需要编辑什么文件才能添加新的输入。 只有当您是管理员并登录到仪表板时,才会看到此页面。 我使用wordpress边缘洗牌主题。

  • 我在WordPress中创建了一个自定义帖子类型,我如何在这个中添加自定义摘录添加一个字段。自定义帖子类型保存在同一个wp_posts表中。添加选项显示所有字段。但是现在我想在这个中添加自定义摘录字段。我有任何WordPress功能添加摘录。任何人都可以帮助!

  • 我有一个自定义的帖子类型设置,有许多类别和子类别。 我试图做的是创建一个页面,显示特定类别中的所有帖子,并使用一个菜单列出所有类别子类别,以便可以过滤帖子。 我已尝试复制存档模板并将其重命名为分类法-(我的自定义分类法)。php,如果我转到slug,它会显示某些帖子,并使用

  • 对不起,我的英语很差。我有一个问题,我无法解决。 你如何编辑标签的背景(或删除这些信息) http://s33.postimg.org/5ayxjlkcv/eac8a54f51_1.jpg 文档里找不到。 以下是我的代码: http://codepen.io/anon/pen/XKXJEr