Флажки продолжают исчезать при добавлении текста на другом языке - PullRequest
0 голосов
/ 03 марта 2020

У меня есть следующий код:

<div class="wrap">
    <div class="add-item"><input type="button" id="addCheckboxItem" class="button button-primary" value="<?php _e( 'Add checkbox', 'sha-wreg' ); ?>"></div>
    <table id="checkboxes-table">
        <thead>
            <tr valign="top">
                <th class="detail-name" colspan="2"><?php _e( 'Checkbox label', 'sha-wreg' ); ?></th>
            </tr>
        </thead>
        <tbody>
            <?php foreach ( $checkboxes as $field_id => $field_value ): ?>
                <tr id="detail-<?php echo $field_id; ?>">
                    <td><input type="text" name="<?php echo $sha_wreg_prefix; ?>checkbox_data[<?php echo $field_id; ?>]" value="<?php echo $field_value; ?>" /></td>
                    <td><button type="button" class="remove-item button" onclick="removeRow('<?php echo $field_id; ?>')">-</button></td>
                </tr>
            <?php endforeach; ?>
        </tbody>
    </table>
</div>
<script type="text/javascript">
    var prefix = '<?php echo $sha_wreg_prefix; ?>'; 
</script>

Который выводит как скриншот ниже:

enter image description here

Проблема I ' Я пытаюсь перевести текст на французский, и когда я go, чтобы сохранить флажок, вся строка исчезает так:

enter image description here

Этот плагин был специально разработан для нашего сайта Wordpress другим разработчиком, который больше не доступен. Может ли кто-нибудь помочь мне с этой проблемой и сообщить, почему текст исчезает, как только я добавляю другой язык?

Вот код для серверной части:

    function sha_wreg_add_checkboxes_metabox( $item_data ) {
    global $sha_wreg_module_slug, $sha_wreg_prefix, $sha_wreg_plugin_dir;
    $checkboxes = unserialize( get_post_meta( $item_data->ID, $sha_wreg_prefix . 'checkbox_data', true ) );
    require_once $sha_wreg_plugin_dir . 'admin/templates/checkboxes_metabox.php'; }

    add_action( 'save_post', 'sha_wreg_save_update', 10, 2 );

function sha_wreg_save_update( $item_id, $item_data ) {
    global $sha_wreg_module_slug, $sha_wreg_prefix, $sha_wreg_uploads_dir;

    switch ( $item_data->post_type ) {

        case $sha_wreg_module_slug:
            // Update systems
            if ( isset( $_POST[ $sha_wreg_prefix . 'system' ] ) && !empty( $_POST[ $sha_wreg_prefix . 'system' ] ) ) {
                //Change status to allocating
                $system_data = get_post_meta( $item_id, $sha_wreg_prefix . 'system', true );
                $system_name = get_post( $_POST[ $sha_wreg_prefix . 'system' ] )->post_title;
                $system_object = array(
                    'id'    => (int)$_POST[ $sha_wreg_prefix . 'system' ],
                    'name'  => $system_name
                );

                if ( empty( $system_data ) ) {
                    update_post_meta( $item_id, $sha_wreg_prefix . 'status', 'Allocated' );
                }
                update_post_meta( $item_id, $sha_wreg_prefix . 'system', $system_object );
            }

            //Remove empty rows
            foreach ( $_POST[ $sha_wreg_prefix . 'detail_data' ] as $k => $v ) {
                if ( empty( $v['name'] ) || ( empty( $v['name'] ) && empty( $v['value'] ) ) ) {
                    unset( $_POST[ $sha_wreg_prefix . 'detail_data' ][ $k ] );
                }
            }

            // Update details
            $detail_data = get_post_meta( $item_id, $sha_wreg_prefix . 'detail_data', true );
            $detail_data = unserialize( $detail_data );
            if ( $detail_data !== $_POST[ $sha_wreg_prefix . 'detail_data' ] ) {
                update_post_meta( $item_id, $sha_wreg_prefix . 'detail_data', serialize( $_POST[ $sha_wreg_prefix . 'detail_data' ] ) );
            }

        break;

        case $sha_wreg_module_slug . '_pdfs':
            // Update PDF
            if ( isset( $_FILES[ $sha_wreg_prefix . 'pdf_file' ] ) && $_FILES[ $sha_wreg_prefix . 'pdf_file' ][ 'error' ] == 0 ) {
                $oldfile = get_post_meta( $item_id, $sha_wreg_prefix . 'pdf_file', true );
                $uploadfile = sprintf('%s/%s', $sha_wreg_uploads_dir,  $_FILES[ $sha_wreg_prefix . 'pdf_file' ]['name'] );

                //Copy PDF
                if ( move_uploaded_file( $_FILES[ $sha_wreg_prefix . 'pdf_file' ]['tmp_name'], $uploadfile ) ) {
                    update_post_meta( $item_id, $sha_wreg_prefix . 'pdf_file', basename( $uploadfile ) );
                }

                //Remove old PDF
                if ( isset( $oldfile ) && !empty( $oldfile ) ) {
                    if ( file_exists( sprintf( '%s/%s', $sha_wreg_uploads_dir, basename( $oldfile ) ) ) ) {
                        unlink( sprintf( '%s/%s', $sha_wreg_uploads_dir, basename( $oldfile ) ) );
                    }
                }
            }

            // Update checkboxes
            $checkbox_data = get_post_meta( $item_id, $sha_wreg_prefix . 'checkbox_data', true );
            $checkbox_data = unserialize( $detail_data );
            if ( $checkbox_data !== $_POST[ $sha_wreg_prefix . 'checkbox_data' ] ) {
                update_post_meta( $item_id, $sha_wreg_prefix . 'checkbox_data', serialize( $_POST[ $sha_wreg_prefix . 'checkbox_data' ] ) );
            }

            // Update extra data
            $extra_data = get_post_meta( $item_id, $sha_wreg_prefix . 'extra_data', true );
            $extra_data = unserialize( $extra_data );
            if ( isset( $_POST[ $sha_wreg_prefix . 'extra_data' ] ) && ( $extra_data !== $_POST[ $sha_wreg_prefix . 'extra_data' ] ) ) {
                update_post_meta( $item_id, $sha_wreg_prefix . 'extra_data', serialize( $_POST[ $sha_wreg_prefix . 'extra_data' ] ) );
            }

        break;
    }
}
...