你能让一个定制的metabox域成为保存新帖子的必填项吗?

时间:2011-12-11 作者:JasonDavis

我正在处理一个自定义的帖子类型,我删除了所有标准的wordpress表单项,并从零开始使用自定义的元框,除了标题字段。

在我的情况下,选择一些自定义元下拉选择非常重要。

是否有一个简单的解决方案,让他们在发布项目之前必须选择一些项目?

我认为javascript是最简单的解决方案,但最好让用户知道发生了什么,比如如果他们试图发布但尚未选中,则突出显示框,另一个问题是下拉菜单,默认情况下,即使他们没有选择一个值,也已经选择了一个值

1 个回复
最合适的回答,由SO网友:ferenyl 整理而成

您可以使用jQuery,因为它已经加载到帖子中了。其目的是停止表单提交操作。

我的meta中有两个html元素:

<select name="cars" class="required">
  <option value="-1">Choose a car</option>
  <option value="volvo">volvo</option>
  <option value="saab">saab</option>
  <option value="bmw">bmw</option>
</select>

<input type="text" class="required" placeholder="Type year">
表单id为;过帐;。因此,使用jquery,我们可以编写:

jQuery(function($){ //make sure DOM is loaded and pass $ for use
    $(\'#post\').submit(function(e){ // the form submit function
         $(\'.required\').each(function(){
           if( $(this).val() == \'-1\' || $(this).val() == \'\' ){ // checks if empty or has a predefined string
             //insert error handling here. eg $(this).addClass(\'error\');
             e.preventDefault(); //stop submit event
           }
         })
    });
});
我认为应该这样做。要在帖子页面上添加javascript,请使用admin\\u init hook和wp\\u enque\\u script。在法典中搜索它们,你就会知道如何使用它们。如果没有发布新问题。

结束

相关推荐

自定义Metabox字段帮助提示弹出窗口

是否有任何内置到核心的东西显示一点(?)在翻滚时提供工具提示或上下文帮助弹出窗口的管理端输入字段(例如自定义元框输入字段)旁边的图标?我想我曾经看到过类似的东西,但它很可能是特定于插件的。有什么想法吗?