我对Wordpress开发相对较新,我正在努力学习更多关于自定义编码的知识。
对于初学者,我想知道如何检索自定义字段的日期并在另一个日期自定义字段上使用条件逻辑。
For example: If the user chooses a date between Monday and Friday on customfield1, they will not be able to choose Saturday on customfield2.
如果有人能指导我这样做,我将不胜感激!
最合适的回答,由SO网友:Jason RWD 整理而成
好的,你有几种方法可以做到这一点,但首先,你需要决定你想通知用户他们的值无效的紧急程度:立即,还是在帖子保存时?一般的经验法则是,越早越好,但考虑到你似乎认为自己对自定义编码还不熟悉,你可能会被迫推迟(如果你想坚持使用特定于Wordpress的编码,可能会更容易)。以下是任何情况下的详细情况:
即时验证可以通过Javascript/jQuery完成。编写一些代码来侦听每个输入的更改事件,然后检查其他输入中是否已经有值。如果是,请运行验证逻辑,如果不是,请等待。
重要提示:此解决方案基本上避免了Wordpress开发。不一定是坏事,但值得一提。
延迟验证(保存后)
如果您愿意等到保存后再执行验证,可以挂接一个操作来运行验证代码。如果您使用的是高级自定义字段,则可以使用“acf/validate\\u save\\u post”挂钩(参考:
https://www.advancedcustomfields.com/resources/acf-validate_save_post/). 如果没有,只需使用核心“save\\u post”挂钩。
备用即时验证(未测试)
如果您使用的是ACF,那么看起来您可以使用特定于字段的挂钩,如“ACF/validate\\u value/name=your\\u date\\u field\\u name”(参考:
https://www.advancedcustomfields.com/resources/acf-validate_value/). 不能很好地了解ACF的事件生命周期,因此您需要研究它,但当第一个字段的验证事件激发时,您可以存储它的值(如果您正在开发插件,最好使用静态属性,如果不是,则仅使用全局变量),以检查第二个字段的验证事件何时激发。