Сохранение данных пользовательского поля перед публикацией

Вопрос или проблема

При создании страницы или поста WordPress позволяет сохранять контент (заголовок, текст, обложку) с помощью Ctrl + S. Пользовательские поля не сохраняются таким же образом (в этом случае я использую Advanced Custom Fields, но это происходит и без этого плагина).

У кого-нибудь есть решение для сохранения этих данных так же? В этом случае публикация не является вариантом.

ОБНОВЛЕНИЕ: Если я нажимаю кнопку “Сохранить черновик”, пользовательские поля сохраняются. Сохранение ctrl + S, похоже, ограничивается только областью контента. Есть ли простой способ изменить это на глобальное сохранение поста с помощью ctrl S? Кнопка “Сохранить черновик” к счастью снимает срочность, но это было бы удобно!

Я только что написал плагин, который именно это и делает. На этой неделе он был отправлен в репозиторий плагинов WordPress.org и надеюсь, скоро появится. Плагин официально в репозитории WordPress.org. Короче говоря, то, что вам нужно, – это способ иметь следующий код в вашем редакторе постов:

jQuery(window).bind('keydown', function(event) {
    if (event.ctrlKey || event.metaKey) {
        if(String.fromCharCode(event.which).toLowerCase() === 's' ) {
            event.preventDefault();

            if ( typeof wpkeysave_save_trigger !== 'undefined' ){
                // жесткий способ сохранить черновик/опубликовать/обновить
                jQuery( '#' + wpkeysave_save_trigger ).trigger( 'click' );
            }

        }
    }
});

Обновление: Плагин официально в репозитории WordPress.org и будет активно поддерживаться.

Ответ или решение

Как сохранить данные пользовательских полей перед публикацией в WordPress

В процессе создания страниц или записей в WordPress, многие пользователи сталкиваются с проблемой сохранения пользовательских полей (custom fields) при использовании сочетания клавиш Ctrl + S. В отличие от основного содержимого (заголовка, текста и изображения), данные пользовательских полей не сохраняются автоматически. Это может стать причиной потери данных и добавляет лишнюю нагрузку на процесс редактирования. В данном ответе рассмотрим способы решения этой проблемы и предложим оптимальное решение.

Проблема: отсутствие автоматического сохранения

Основной недостаток заключается в том, что при нажатии сочетания клавиш Ctrl + S сохраняются только текстовые поля, тогда как пользовательские поля (в том числе создаваемые с помощью плагина Advanced Custom Fields) требуют отдельного сохранения через кнопку «Сохранить черновик». Это может подрывать эффективность работы и вызывать неудобства для пользователей, которые привыкли к более стремительному процессу сохранения.

Возможное решение через плагин

На основе обсуждений в сообществе WordPress, было разработано решение в виде плагина, который позволяет привязать сохранение пользовательских полей к нажатиям клавиш Ctrl + S. Этот плагин, который был успешно представлен в репозитории WordPress, использует следующий код:

jQuery(window).bind('keydown', function(event) {
    if (event.ctrlKey || event.metaKey) {
        if(String.fromCharCode(event.which).toLowerCase() === 's' ) {
            event.preventDefault();

            if ( typeof wpkeysave_save_trigger !== 'undefined' ){
                // жесткий способ сохранить черновик/опубликовать/обновить
                jQuery( '#' + wpkeysave_save_trigger ).trigger( 'click' );
            }
        }
    }
});

Этот код привязывает обработчик событий к окну, который реагирует на нажатие клавиш Ctrl + S. При выполнении данного действия он предотвращает стандартное поведение браузера (например, открытие диалогового окна сохранения страницы) и инициирует клик по кнопке сохранения, что позволяет сохранить пользовательские поля вместе с остальным контентом.

Альтернативные подходы

Помимо использования плагина, можно рассмотреть и другие подходы:

  1. Создание пользовательского скрипта: Если у вас есть навыки разработки, вы можете интегрировать подобный скрипт непосредственно в тему или в файл функций вашего сайта (functions.php). Однако данный метод требует осторожности и понимания работы с JavaScript в WordPress.

  2. Использование существующих плагинов: Возможно, в будущем будут представлены другие решения, которые более эффективно будут сочетать автоматическое сохранение всех данных, включая пользовательские поля. Следует следить за обновлениями в репозитории плагинов WordPress.

Заключение

Сохранение данных пользовательских полей в WordPress при помощи сочетания клавиш Ctrl + S может значительно улучшить пользовательский опыт и повысить продуктивность авторов контента. Использование предложенного плагина или разработка собственного решения поможет избежать дополнительных усилий, связанных с ручным сохранением данных. Важно поддерживать актуальность ваших инструментов и методик, чтобы оптимизировать процесс создания контента и снижения стресса при работе с WordPress.

Оцените материал
Добавить комментарий

Капча загружается...