wordpress5.6.1页面编辑内容未改变时弹窗提示”系统可能不会保存您所做的更改。”这是wordpress 5.6.1存在的bug不是主题或插件问题,解决方法如下。

在主题的functions.php里加入如下代码

// bug 修复
/*
 * WordPress 5.6.1: Window Unload Error Final Fix
 */
add_action('admin_print_footer_scripts', 'wp_561_window_unload_error_final_fix');
function wp_561_window_unload_error_final_fix()
{
?>
  <script>
    jQuery(document).ready(function($) {

      // Check screen
      if (typeof window.wp.autosave === 'undefined')
        return;

      // Data Hack
      var initialCompareData = {
        post_title: $('#title').val() || '',
        content: $('#content').val() || '',
        excerpt: $('#excerpt').val() || ''
      };

      var initialCompareString = window.wp.autosave.getCompareString(initialCompareData);

      // Fixed postChanged()
      window.wp.autosave.server.postChanged = function() {

        var changed = false;

        // If there are TinyMCE instances, loop through them.
        if (window.tinymce) {
          window.tinymce.each(['content', 'excerpt'], function(field) {
            var editor = window.tinymce.get(field);

            if ((editor && editor.isDirty()) || ($('#' + field).val() || '') !== initialCompareData[field]) {
              changed = true;
              return false;
            }

          });

          if (($('#title').val() || '') !== initialCompareData.post_title) {
            changed = true;
          }

          return changed;
        }

        return window.wp.autosave.getCompareString() !== initialCompareString;

      }
    });
  </script>
<?php
}

该bug仅在5.6.1版本中出现,5.6.2以后wp官方已经修复该bug。

发表回复

后才能评论