Php Wordpress-如何在保存/更新之前检查自定义帖子类型标题是否唯一?
我是Wordpress的新手。我在一个插件中创建了一个自定义帖子类型,我正在尝试向它添加一个自定义验证。 在保存这种类型的新帖子之前(在admin中),我想检查提交的帖子标题是否已经存在。这就是我所想的:Php Wordpress-如何在保存/更新之前检查自定义帖子类型标题是否唯一?,php,validation,wordpress,custom-post-type,Php,Validation,Wordpress,Custom Post Type,我是Wordpress的新手。我在一个插件中创建了一个自定义帖子类型,我正在尝试向它添加一个自定义验证。 在保存这种类型的新帖子之前(在admin中),我想检查提交的帖子标题是否已经存在。这就是我所想的: 用户填写表格并提交 保存之前(在钩子中),提交的标题在数据库中搜索相同的标题和相同的文章类型 如果找到某个条目,将阻止保存帖子,并定义一条错误消息,浏览器将重定向到帖子表单,并预先填充提交的数据。并向用户显示错误消息 如果未找到条目,则流程不会中断,post正常保存 这个逻辑正确吗?若否,
- 用户填写表格并提交李>
- 保存之前(在钩子中),提交的标题在数据库中搜索相同的标题和相同的文章类型李>
- 如果找到某个条目,将阻止保存帖子,并定义一条错误消息,浏览器将重定向到帖子表单,并预先填充提交的数据。并向用户显示错误消息
- 如果未找到条目,则流程不会中断,post正常保存
谢谢 看来我提出的逻辑是无效的 此外,防止保存帖子的唯一方法似乎是使用JavaScript验证表单 我能找到的更接近的答案是。但是,如果用户快速编辑帖子,则不包括验证 因此,再次强调,使用JavaScript进行验证似乎是最好的选择——至少在本例中,它不包含像文件上载这样更复杂的字段 谢谢你的帮助 编辑: 该插件提供了一个如何使用JS的想法。我使用了,在duplicate-title-checker.php中,我将第34行从
$sim_titles = "SELECT post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' AND post_title = '{$title}' AND ID != {$post_id} ";
到
似乎成功了。到目前为止你都尝试了什么?显示你的代码。拉希尔,我只是在谷歌上搜索了一下,但什么也没找到。由于我不知道正确的逻辑,我甚至还没有编写任何代码。您要求的是一段非常复杂的代码。尝试检查此链接,然后用您编写的一些代码编辑您的评论,以便获得更高质量的答案。
$sim_titles = "SELECT post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_title = '{$title}' AND ID != {$post_id} ";