问题描述
我正在处理一个自定义的帖子类型,我已经删除了所有的标准 wordpress 表单项,并从头开始使用自定义元框,除了标题字段。
在我的情况下,选择一些自定义元下拉选项是非常重要的。
有没有一个容易的解决方案,使它们在他们可以发布项目之前必须选择一些项目?
我认为 JavaScript 将是最简单的解决方案,但是让用户知道发生了什么,如果他们尝试发布并且没有被选中,则突出显示该框,另一个问题是下拉菜单,那里默认情况下,已选择的值即使没有选择一个
最佳解决方案
你可以使用已经加载在帖子上的 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 为”post” 。所以用 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_init 钩子和 wp_enque_script 。在抄本中搜索他们,你会发现如何使用它们。如果不发布新的问题。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。