Как изменить информацию в поле дополнительных полей Advanced Custom Fields в WordPress при нажатии на кнопку, и затем сохранить изменения?

Как можно реализовать функционал, при котором при клике на кнопку на страницах с заказами у авторизированного пользователя списывается определенная сумма из личного кабинета и появляется скрытое поле с контактом? В чем проблема в текущей реализации скрипта на PHP и JS? Я имею часть кода, который реализует отправку данных по клику на кнопку, но возможно он содержит ошибки. Как можно исправить проблемы в данном скрипте?
  • 2 мая 2024 г. 14:00
Ответы на вопрос 1
Для изменения информации в поле дополнительных полей Advanced Custom Fields в WordPress при нажатии на кнопку, необходимо использовать JavaScript или jQuery. Вот пример кода, который вы сможете использовать:

HTML:
```html
<button id="update-button">Изменить информацию</button>
```

JavaScript / jQuery:
```javascript
jQuery(document).ready(function($) {
    $('#update-button').click(function() {
        var newInfo = 'Новая информация';
        var postId = <?php echo get_the_ID(); ?>; // ID поста, где находится поле ACF

        // Обновление поля ACF
        $.ajax({
            type: 'post',
            url: '<?php echo admin_url("admin-ajax.php"); ?>',
            data: {
                action: 'update_acf_field',
                new_info: newInfo,
                post_id: postId
            },
            success: function(response) {
                console.log('Информация успешно изменена');
            }
        });
    });
});
```

PHP:
```php
add_action('wp_ajax_update_acf_field', 'update_acf_field');

function update_acf_field() {
    $newInfo = $_POST['new_info'];
    $postId = $_POST['post_id'];

    update_field('acf_field_name', $newInfo, $postId);

    wp_die();
}
```

Чтобы реализовать функционал списывания суммы из личного кабинета пользователя и отображения скрытого поля с контактом при клике на кнопку на странице заказов, необходимо написать код на PHP и JavaScript / jQuery. 

Проблемы в текущей реализации скрипта могут быть вызваны различными ошибками в коде. Однако, без доступа к вашему конкретному коду сложно дать точный ответ. Возможно, проблема может быть связана с неверным путем к файлу admin-ajax.php, неправильной обработкой данных на стороне PHP, или с другими ошибками в коде.

Если у вас есть конкретный код, с которым у вас возникли проблемы, пожалуйста, предоставьте его для того, чтобы мы могли помочь вам исправить ошибки.
Похожие вопросы