- Статус
- Решено
- Заявлено для
- WPML Multilingual CMS 4.5.8
- Решено в
- 4.5.9
Обзор проблемы
Если Вы используете префикс базы данных WordPress, отличный от wp_, Вы можете увидеть ошибку, указывающую на то, что таблица wp_terms не существует.
Table ‘wp.wp_terms’ doesn’t exist for query…
Обходное решение
Перед продолжением сделайте полную резервную копию Вашего сайта.
- Откройте файл /plugins/sitepress-multilingual-cms/classes/query-filtering/class-wpml-term-display-as-translated-adjust-count.php.
- Найдите строку 80.
- В этом запросе замените wp_ на префикс Вашей базы данных в строках 84, 85, 90, 91 и 93
$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 ) );