【发布时间】:2017-01-16 18:19:15
【问题描述】:
我最近准备了一个带有 SQL 服务器和 IIS 的全新 wordpress 安装。 WordPress 版本是 4.7,目前是最新的。
管理员中的帖子列表屏幕显示“未找到任何内容”,但计数显示 3 个帖子和 3 个已发布。在这种情况下,我可以创建一个新帖子,但在列表中看不到任何帖子。
为此,我在这里找到了解决方案:https://wordpress.stackexchange.com/questions/44844/wordpress-iis7-sql-server-2008-not-showing-posts-displays-nothing-found
以上解决方案适用于旧版本的 wordpress,但我可以将其应用于当前版本。
原因是破坏了返回帖子的查询。
要解决这个问题,只需转到“wp-includes/class-wp-query.php”行号:2824 或搜索以下代码:
$this->request = "SELECT $found_rows $distinct {$wpdb->posts}.ID FROM {$wpdb->posts} $join WHERE 1=1 $where $groupby $orderby $limits";
替换为:
$this->request = "SELECT $found_rows $distinct {$wpdb->posts}.ID FROM {$wpdb->posts} $join WHERE 1=1 $where $groupby $orderby";
我刚刚从导致该问题的查询中删除了 $limit 变量。
实施此操作后,我的错误已得到修复,帖子显示完美。
但这是修改wordpress核心文件的一种非常糟糕的做法。我们不应该修改核心文件。我不会建议任何人继续使用此解决方案,因为这不是好方法。如果我们以后更新 wordpress 软件,我们修改后的文件将自动失去我们的修复。
所以,我需要帮助才能在不修改核心 wordpress 文件的情况下实现它,这不是推荐的方式。如果有人提供任何其他解决方法,请分享。
【问题讨论】:
标签: sql-server wordpress iis