Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在WordPress Gutenberg编辑器Metabox上进行JavaScript验证_Javascript_Wordpress_Validation_Editor_Wordpress Gutenberg - Fatal编程技术网

如何在WordPress Gutenberg编辑器Metabox上进行JavaScript验证

如何在WordPress Gutenberg编辑器Metabox上进行JavaScript验证,javascript,wordpress,validation,editor,wordpress-gutenberg,Javascript,Wordpress,Validation,Editor,Wordpress Gutenberg,我正在为Gutenberg的WordPress新版本上的自定义帖子类型公告创建自定义分类日期 我需要将此分类法作为发布此文章的必填字段,并且我已经尝试了 <input type="date" required> 但它不起作用,现在我正努力用类requireMe验证输入 因此,我试图用JavaScript捕获Publish Post按钮,并禁用它,无论该输入是否已设置 我在这里遇到的第一个问题是,我永远无法捕获这个按钮,因为它不是实际DOM的一部分,所以我已经注意到有一种通过API实

我正在为Gutenberg的WordPress新版本上的自定义帖子类型公告创建自定义分类日期

我需要将此分类法作为发布此文章的必填字段,并且我已经尝试了

<input type="date" required>
但它不起作用,现在我正努力用类requireMe验证输入

因此,我试图用JavaScript捕获Publish Post按钮,并禁用它,无论该输入是否已设置

我在这里遇到的第一个问题是,我永远无法捕获这个按钮,因为它不是实际DOM的一部分,所以我已经注意到有一种通过API实现这一点的新方法,但我找不到合适的文档来实现这一点

我需要做的就是验证

您可以使用并分派一个事件,该事件将禁用保存帖子,直到您再次解锁它

wp.data.dispatch( 'core/editor' ).lockPostSaving( 'my_lock_key' );
要禁用锁定,请调用:

wp.data.dispatch( 'core/editor' ).unlockPostSaving( 'my_lock_key' );
您还可以选择发送一个显示在编辑器顶部的通知

wp.data.dispatch( 'core/notices' ).removeNotice('LOCK_NOTICE');
wp.data.dispatch( 'core/notices' ).createErrorNotice( 'Please enter a date to continue.', { id: 'LOCK_NOTICE',isDismissible: true} ) ;
您可以使用并分派一个事件,该事件将禁用保存帖子,直到您再次解锁它

wp.data.dispatch( 'core/editor' ).lockPostSaving( 'my_lock_key' );
要禁用锁定,请调用:

wp.data.dispatch( 'core/editor' ).unlockPostSaving( 'my_lock_key' );
您还可以选择发送一个显示在编辑器顶部的通知

wp.data.dispatch( 'core/notices' ).removeNotice('LOCK_NOTICE');
wp.data.dispatch( 'core/notices' ).createErrorNotice( 'Please enter a date to continue.', { id: 'LOCK_NOTICE',isDismissible: true} ) ;

您好,我很确定您给我的答案是正确的,但我现在在理解如何使用您在回答中提供的“我的锁”时遇到了一个小问题。我是WordPressAPI的新手,我不知道该如何处理这个参数,或者它是什么。你能再详细一点吗?感谢PS:通知工作得很好。LockPostSave接受一个参数lockName,它只是您定义的一个键/名称。您需要使用相同的名称来解锁它。假设,如果后期保存被其他密钥/名称锁定,您将无法使用您的密钥/名称解锁。您好,我很确定您给我的答案是正确的,但我现在在理解如何使用您在答案中提供的“我的锁定密钥”方面遇到了一个小问题。我是WordPressAPI的新手,我不知道该如何处理这个参数,或者它是什么。你能再详细一点吗?感谢PS:通知工作得很好。LockPostSave接受一个参数lockName,它只是您定义的一个键/名称。您需要使用相同的名称来解锁它。假设,如果后期保存被其他密钥/名称锁定,您将无法使用您的密钥/名称解锁它。