WPML
状态
已解决
报告针对
WPML Multilingual CMS 4.5.8
解决于
4.5.9

问题概述

如果您为 WordPress 数据库使用了不同于 wp_ 的前缀,您可能会看到提示 wp_terms 表不存在的错误。

Table ‘wp.wp_terms’ doesn’t exist for query…

临时解决方法

在继续操作之前,请对您的站点进行完整备份。

  1. 打开 /plugins/sitepress-multilingual-cms/classes/query-filtering/class-wpml-term-display-as-translated-adjust-count.php 文件。
  2. 找到第 80 行。
  3. 对于此查询,请将第 84、85、90、91 和 93 行中的 wp_ 更改为您的数据库前缀
     $prefix = $this->wpdb->prefix;
    $originalTermCount = (int) $this->wpdb->get_var(
       $this->wpdb->prepare( "
            SELECT
            (
                SELECT term_taxonomy.count
                FROM ".$prefix."term_taxonomy term_taxonomy
                INNER JOIN ".$prefix."icl_translations translations
                    ON translations.element_id = term_taxonomy.term_taxonomy_id
                WHERE translations.trid = icl_t.trid
                AND translations.language_code = %s
            ) as `originalCount`
            FROM ".$prefix."terms AS t
            INNER JOIN ".$prefix."term_taxonomy AS tt
                ON t.term_id = tt.term_id
            LEFT JOIN ".$prefix."icl_translations icl_t
                ON icl_t.element_id = tt.term_taxonomy_id
            WHERE t.term_id = %d
            ",
            $this->sitepress->get_default_language(),
            $term->term_id
        )
    );

所有已知问题 →