代码之家  ›  专栏  ›  技术社区  ›  Jason 'Slingshot' Miller

如何验证Wordpress插件设置?

  •  1
  • Jason 'Slingshot' Miller  · 技术社区  · 3 年前

    所以我的插件已经完成了90%,但它只是对输入进行清理/转义。如何在保存设置之前有条件地验证它?

    快速示例:

    <form method="post" action="options.php">
        <?php
            settings_fields( 'settings_option_group' );
            do_settings_sections( 'settings-admin' );
            submit_button();
        ?>
    </form>
    

    这是设置页面表单,它处理与显示/保存设置相关的一切。像这样的功能:

    if ( isset( $input['stwc_ft_oosn_notice_1'] ) ) {
        $sanitary_values['stwc_ft_oosn_notice_1'] = sanitize_text_field( $input['stwc_ft_oosn_notice_1'] );
    }
    

    清除不需要的用户输入,但我如何检查例如文本框是否有数字?或者,如何有条件地检查文本框是否为空?例如

    如果选中xxx复选框,则yyy文本框必须有一个值

    我在整个codex中找不到这种情况,按照关于编写插件的教程,它确实提到了 Data Validation 以及实现它的方法。但在实践中,它没有在设置页面中指示如何做到这一点,例如,当由于逻辑原因无法保存设置时,或者添加红色边框或错误/空字段时,我会显示错误消息。等

    0 回复  |  直到 3 年前