插件更新和错误通知

时间:2014-08-25 09:10:51

标签: php wordpress wordpress-plugin

我已经为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>

1 个答案:

答案 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') );

我不知道这个的理由,但我怀疑它是出于造型目的。我找到的唯一门票是#27688#14860,但他们解释得很少。