г. Санкт-Петербург
Войти
Логин
Пароль
Зарегистрироваться
После регистрации на сайте вам будет доступно отслеживание состояния заказов, личный кабинет и другие новые возможности
Заказать звонок
Логин
Пароль
Зарегистрироваться
После регистрации на сайте вам будет доступно отслеживание состояния заказов, личный кабинет и другие новые возможности
Логин
Пароль
Зарегистрироваться
После регистрации на сайте вам будет доступно отслеживание состояния заказов, личный кабинет и другие новые возможности

RSS
Проблема после нескольких обновлений wp при попытке загрузить картинку или MediaFile в пост с помощью сторонних плагинов, Через стандартный загрузчик, всё работает но через какое то время ajax загрузчик перестает обрабатывать вызовы не из админки
 
Встречается часто ситуация когда вы получаете при загрузке изображений по кнопке "Добавить медиафайл"

You dont have permission to attach files to this post” on Wordpress

Решение уже найдено на английских сайтах поэтому кому нужен оригинал

https://stackoverflow.com/questions/31885086/error-you-dont-have-permission-to-attach-files-to-this-post-on-wordpress

продублирую на русском:


Проблема в том что аяксовая часть всё равно продолжает запрещать загружать фото даже после того как хтмл загрузчик позволяет.

решается так:


wp-admin/includes/ ajax-actions.php, Нужно удалить следующую часть


Код
if ( isset( $_REQUEST['post_id'] ) ) {
    $post_id = $_REQUEST['post_id'];
    if ( ! current_user_can( 'edit_post', $post_id ) ) {
        echo wp_json_encode( array(
            'success' => false,
            'data'    => array(
                'message'  => __( "You don't have permission to attach files     to this post." ),
                'filename' => $_FILES['async-upload']['name'],
            )
        ) );

        wp_die();
    }
    }
Обратите внимание, на то, что удалить нужно только часть


Код
 if ( ! current_user_can( 'edit_post', $post_id ) ) {
        echo wp_json_encode( array(
            'success' => false,
            'data'    => array(
                'message'  => __( "You don't have permission to attach files     to this post." ),
                'filename' => $_FILES['async-upload']['name'],
            )
        ) );

        wp_die();
    }

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