Это форум технической поддержки WPML – плагина для многоязычной WordPress.
Доступно для чтения всем, но только клиенты, купившие WPML, могут оставлять сообщения. Сотрудники WPML отвечают на сообщения форума 6 дней в неделю, 22 часов в сутки.
Помечено: Custom Work
Эта тема содержит 5 ответов, имеет 2 voices.
Последнее обновление: Andrey 1 год, 12 месяцев назад.
При содействии: Andrey.
| Автор | Сообщения |
|---|---|
| 6 ноября, 2023 в 11:26 дп #14736935 | |
|
Роман Дубровский |
Расскажите нам, что вы пытаетесь сделать? Ссылка на ваш сайт? |
| 6 ноября, 2023 в 12:03 пп #14737359 | |
|
Andrey Сторонник WPML с 06/2013 Языки: Английский (English ) Русский (Русский ) Часовой пояс: Europe/Kyiv (GMT+02:00) |
Вам необходимо добавить дополнительный аргумент 'suppress_filters' => false в Ваш wp_query($args). Больше информации: https://wpml.org/documentation/support/debugging-theme-compatibility/#issue-wp_queryargs-or-get_postsargs-doesnt-filter-out-correct-posts-ids-for-the-current-language |
| 6 ноября, 2023 в 1:25 пп #14738089 | |
|
Роман Дубровский |
К сожалению это не решает проблему |
| 6 ноября, 2023 в 1:32 пп #14738141 | |
|
Andrey Сторонник WPML с 06/2013 Языки: Английский (English ) Русский (Русский ) Часовой пояс: Europe/Kyiv (GMT+02:00) |
В таком случае, я не сильно понимаю проблему. Расскажите более детально, что Вы имеете ввиду под "количество выводится сразу с двух". Откуда берутся данные посты. И также, для информации полный пример используемой функции. |
| 6 ноября, 2023 в 2:27 пп #14738875 | |
|
Роман Дубровский |
скрытая ссылка Вывод счетчика нужного посттипа происходит так (<?php echo $published_target ; ?>) |
| 6 ноября, 2023 в 3:31 пп #14739471 | |
|
Andrey Сторонник WPML с 06/2013 Языки: Английский (English ) Русский (Русский ) Часовой пояс: Europe/Kyiv (GMT+02:00) |
Спасибо за разъяснение. Проверив наши записи, я обнаружил, что вопрос ранее уже подымался. На данный момент, WPML никаким образом не фильтрует количество постов, поэтому такие результаты. Возможно, в будущем добавят фильтр. Вижу, что тестировалась кастомная функция, которая была добавлена в functions.php file текущей темы:
function get_count_posts($post_type ) {
global $wpdb;
$src_lang = isset( $_REQUEST['source_lang'] ) ? sanitize_text_field( $_REQUEST['source_lang'] ) : apply_filters( 'wpml_current_language', null );
$lang = isset( $_REQUEST['lang'] ) ? sanitize_text_field( $_REQUEST['lang'] ) : $src_lang;
$wpml_type = "post_".$post_type;
$query = "SELECT post_status, COUNT( * ) AS num_posts FROM {$wpdb->posts} as p join wp_icl_translations as ict on p.id = ict.element_id WHERE post_type = %s and ict.language_code = %s and ict.element_type = %s GROUP BY post_status";
$results = (array) $wpdb->get_results( $wpdb->prepare( $query, $post_type, $lang, $wpml_type ), ARRAY_A );
foreach ( $results as $row ) {
$counts[ $row['post_status'] ] = $row['num_posts'];
}
$result = (object) $counts;
return $result->publish;
}
add_action( 'wp_head', 'get_count_posts' );
Не могу сказать решает ли проблему или нет. Вы можете ее проверить. Если все еще проблема, возьмите функцию за пример пример, чтобы написать свою. К сожалению, других решений нет. WPML API: |
