- Статус
- Ожидается ответ автора
- Связанный плагин/тема
- WP Job Manager
- Теги темы
- Compatibility
Обзор проблемы
При использовании WPML с дополнением Applications для WP Job Manager, Панель управления вакансиями ошибочно отображает формы заявок на всех языках, вместо того чтобы показывать только формы на текущем языке. Это затрагивает форму редактирования вакансии и создает путаницу для пользователей.
Обходное решение
Пожалуйста, перед тем как продолжить, убедитесь, что у Вас есть полная резервная копия Вашего сайта.
- Откройте файл …/\wp-content/plugins/wp-job-manager-applications/includes/wp-job-manager-applications-functions.php.
- Найдите строку 302.
- Замените:
function get_application_forms() { $posts = new WP_Query( array( 'post_type' => 'job_application_form', 'posts_per_page' => - 1, 'suppress_filters' => true, 'orderby' => 'title', 'order' => 'ASC', ) ); $default_form = WP_Job_Manager_Applications_Default_Form::get_default_form(); if ( $posts->post_count <= 1 ) { return null; } $application_forms = []; if ( array_key_exists( 'ID', $default_form ) ) { $application_forms[ $default_form['ID'] ] = $default_form['post_title']; } foreach ( $posts->posts as $post ) { $application_forms[ $post->ID ] = $post->post_title; } return apply_filters( 'job_application_forms', $application_forms ); } - На:
// WPML Workaround for compsupp-7797 function get_application_forms() { $posts = new WP_Query( array( 'post_type' => 'job_application_form', 'posts_per_page' => - 1, 'suppress_filters' => false, // replace true with false 'orderby' => 'title', 'order' => 'ASC', ) ); $default_form = WP_Job_Manager_Applications_Default_Form::get_default_form(); if ( $posts->post_count < 1 ) { // replace <= with < return null; } $application_forms = []; /* comment out this part if you don't want to see the default form in other languages if ( array_key_exists( 'ID', $default_form ) ) { $application_forms[ $default_form['ID'] ] = $default_form['post_title']; }*/ foreach ( $posts->posts as $post ) { $application_forms[ $post->ID ] = $post->post_title; } return apply_filters( 'job_application_forms', $application_forms ); }