我已经为Wordpress创建了一个自定义插件,其中包含一些自定义表等。在处理数据之后,我会显示确认或错误消息(这是在wp-admin端)。我一直在使用WordPress类来使用默认主题,如下所示:
<?php if ( ! empty($success)): ?>
<div class="updated">
<ul>
<?php foreach ($success as $message): ?>
<li><?php echo $message; ?></li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
<?php if ( ! empty($errors)): ?>
<div class="error">
<ul>
<?php foreach ($errors as $error): ?>
<li><?php echo $error; ?></li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
<!-- HTML STARTS HERE -->
<div class="wrap">
奇怪的是,当输出错误或成功消息时,它们出现在HTML的不同部分。我不明白为什么。在某些情况下,它是DOM树中很少的节点,例如
<!-- In the code it's here (as shown above)... -->
<div class="wrap">
<section>
<header>
<div>
<!-- BUT IT SHOWS UP HERE, WHAT!? -->
</div>
</header>
</section>
</div>
答案 0 :(得分:1)
这是由wp-admin/js/common.js
中的以下几行有目的地完成的:
// Move .updated and .error alert boxes. Don't move boxes designed to be inline.
$('div.wrap h2:first').nextAll('div.updated, div.error').addClass('below-h2');
$('div.updated, div.error').not('.below-h2, .inline').insertAfter( $('div.wrap h2:first') );