Class WP_Rewrite not found

时间:2015-12-16 作者:Marcos

将我的WordPress更新到4.4时,我遇到了以下错误:

致命错误:找不到类“WP\\u Rewrite”

出现错误的页面是我的自定义ajax,代码如下:

<?php
// Constantes propias para ajax
define("SHORTINIT",true);
define(\'WP_USE_THEMES\', false);
define(\'WP_ALLOW_MULTISITE\', false);
if (!defined("AUTH_COOKIE")){
    define("AUTH_COOKIE",false);
}
if (!defined("LOGGED_IN_COOKIE")){
    define("LOGGED_IN_COOKIE",false);
}
require_once ("../../../../wp-load.php");
//Loading code from wp-settings after SHORTINIT    
require( ABSPATH . WPINC . \'/l10n.php\' );
require( ABSPATH . WPINC . \'/formatting.php\' );
require( ABSPATH . WPINC . \'/capabilities.php\' );
require( ABSPATH . WPINC . \'/query.php\' );
require( ABSPATH . WPINC . \'/user.php\' );
require( ABSPATH . WPINC . \'/meta.php\' );
require( ABSPATH . WPINC . \'/general-template.php\' );
require( ABSPATH . WPINC . \'/link-template.php\' );
require( ABSPATH . WPINC . \'/post.php\' );
require( ABSPATH . WPINC . \'/comment.php\' );
require( ABSPATH . WPINC . \'/rewrite.php\' );
require( ABSPATH . WPINC . \'/script-loader.php\' );
require( ABSPATH . WPINC . \'/taxonomy.php\' );
require( ABSPATH . WPINC . \'/theme.php\' );
require( ABSPATH . WPINC . \'/class-wp-walker.php\' );
require( ABSPATH . WPINC . \'/post-template.php\' );
require( ABSPATH . WPINC . \'/post-thumbnail-template.php\' );
require( ABSPATH . WPINC . \'/shortcodes.php\' );
require( ABSPATH . WPINC . \'/media.php\' );

create_initial_taxonomies();
create_initial_post_types();

require( ABSPATH . WPINC . \'/pluggable.php\' );

wp_set_internal_encoding();
wp_functionality_constants( );

$GLOBALS[\'wp_the_query\'] = new WP_Query();
$GLOBALS[\'wp_query\'] = $GLOBALS[\'wp_the_query\'];
$GLOBALS[\'wp_rewrite\'] = new WP_Rewrite();
$GLOBALS[\'wp\'] = new WP();
$GLOBALS[\'wp\']->init();
wp();

if (!defined("WP_CONTENT_URL")){
    define("WP_CONTENT_URL",get_option(\'siteurl\').\'/wp-content\');
}
require_once (\'ajax-funciones.php\');
// There I have some acctions

die();
?>
在更新Wordpress之前,我发现WP\\u Rewrite()有一个错误。该类正在文件重写中。php,如果你在法典中寻找,这是包括。

有什么问题吗?

2 个回复
SO网友:Marcos

我可以修复此问题,包括以下文件:

require( ABSPATH . WPINC . \'/class-wp-rewrite.php\' );
require( ABSPATH . WPINC . \'/class-wp-user.php\' );
require( ABSPATH . WPINC . \'/class-wp-tax-query.php\' );
require( ABSPATH . WPINC . \'/class-wp-meta-query.php\' );
require( ABSPATH . WPINC . \'/class-wp-term.php\' );
require( ABSPATH . WPINC . \'/class-wp-post.php\' );
require( ABSPATH . WPINC . \'/class-wp-roles.php\' );
require( ABSPATH . WPINC . \'/class-wp-role.php\' );
跟踪代码中的错误并在wordpress codex中查找。

SO网友:birgire

这个WP_Rewrite 类定义已移动到其自己的文件:

/wp-includes/class-wp-rewrite.php
这就是它如何包含在wp-settings.php 文件:

require( ABSPATH . WPINC . \'/class-wp-rewrite.php\' );
。。。但我有点害怕你的设置,不知道为什么你需要这样做,而不是使用更原生的方式从WordPress站点获取数据。

相关推荐

WordPress AJAX错误400向远程站点发送数据的错误请求

我正在使用发件人。net获取电子邮件订阅列表。这个网站给了我一些信息,可以将用户的电子邮件添加到订阅列表中。我想使用WordPress ajax来实现这一点。但它返回错误400错误请求。我的代码是:文件ajax新闻脚本。js公司: jQuery(document).ready(function($){ // Perform AJAX send news on form submit $(\'form#fnews\').on(\'submit\', funct