最近在搞投稿页面,发现弹窗的内容会出现乱码,发现发现wp_die出的问题!找到了完美替代,需要的童鞋试试!(以下内容已正常!)
那么我们来看看原代码!
// 表单项数据验证 if ( empty($name) || mb_strlen($name) > 20 ) { wp_die('昵称必须填写,且长度不得超过20字'); } if ( empty($email) || strlen($email) > 60 || !preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $email)) { wp_die('Email必须填写,且长度不得超过60字,必须符合Email格式'); }
替换后的代码为;
// 表单项数据验证 if ( empty($name) || mb_strlen($name) > 20 ) { echo '<br/><br/><br/><br/><div class="vanherrormsg">昵称必须填写,且长度不得超过20字。</div><br/><br/><br/><br/>';get_footer();die(); } if ( empty($email) || strlen($email) > 60 || !preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $email)) { echo '<br/><br/><br/><br/><div class="vanerrormsg">Email必须填写,且长度不得超过60字,必须符合Email格式。</div><br/><br/><br/><br/>';get_footer();die(); }
那么这个中间内容我们可以自定义个样式
/*投稿弹出页面*/ .vanerrormsg{ display: block; padding: 40px 15px; text-align: center; margin-right: 20%; margin-left: 20%; /* max-width: 1380px; */ text-align: center; /* margin-bottom: 2%; */ color: #000 !important; background: #FFF; }
我们可以发现echo函数在php中的通用度是很强的!
这个问题解决方案我早就发过文了,出现问题的原因是wp_error返回的HTML引起的布局错乱,只需要对对应函数判断下,重写下返回就OK了。
好吧,没有注意看!