问题描述

我正在处理一个自定义的帖子类型,我已经删除了所有的标准 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。