Поддержка Проблемы и решения Редактирование файлов темы из админки

  • Решено Webliberty

    (@webliberty)


    Подобные темы на форуме уже читал, но дабы не лезть в чужую тему за предупреждениями от модераторов создаю новую 🙂

    Перестали редактироваться файлы темы, ошибка:

    Невозможно соединиться с сайтом для проверки кода на ошибки, был сделан откат изменений в PHP-коде. Вам нужно загрузить измененный PHP файл другим способом, например через FTP или SFTP.

    Что делать, если редактирование не работает даже при выключенных плагинах? Настройки сервера? На шареде их нет возможности править…

    Самое смешное, что файлы плагинов из админки править можно, CSS файлы темы править можно, а PHP — ни в какую! Бред какой-то.

    В консоли браузера на вкладке Network у файла admin-ajax.php следующее:

    {success: false, data: {code: "loopback_request_failed",…}}
    data: {code: "loopback_request_failed",…}
    success: false

    И главный вопрос: является ли это ошибкой или так и будет в дальнейшем? Тикета на https://make.wordpress.org/core/reports/ не обнаружил с такой проблемой, собираются ее исправлять или нет?

    PS: FTP или SFTP не предлагать.

    • Тема изменена 6 лет, 3 месяца назад пользователем Webliberty.
    • Тема изменена 6 лет, 3 месяца назад пользователем Webliberty.
    • Тема изменена 6 лет, 3 месяца назад пользователем Webliberty.
Просмотр 12 ответов — с 1 по 12 (всего 12)
  • Плагин Health Check показывает следующие данные:

    Запланированное событие (do_pings) не запустилось. Ваш сайт работает, но могут возникнуть проблемы с отложенной публикацией записей или автоматическим обновлением.

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

    Остальные показатели в норме.

    Спустя некоторое время у файла admin-ajax.php данные обновляются:

    {wp-auth-check: true, server_time: 1512653712}
    server_time: 1512653712
    wp-auth-check: true

    Т.е. по идее проблема явно не в этом?

    Модератор Yui

    (@fierevere)

    永子

    Петлевой запрос вернул неожиданный код статуса, 401

    401 — запрос HTTP авторизации
    ваша /wp-admin/ защищена паролем , вообщем-то в этом и причина того, что не работает

    смотрите .htaccess / .htpasswd

    возможно стоит внести 127.0.0.1 и IP сайта в исключения

    Да, защищена, но файл admin-ajax.php добавлен в исключения:

    AuthType Basic
    AuthName "please use your login and password"
    AuthUserFile /.htpasswd
    Require valid-user
    
    # Allow acces to wp-admin/admin-ajax.php
    <Files admin-ajax.php>
        Order allow,deny
        Allow from all
        Satisfy any
    </Files>

    Это содержимое файла .htaccess, расположенного в папке /wp-admin/

    • Ответ изменён 6 лет, 3 месяца назад пользователем Webliberty.
    • Ответ изменён 6 лет, 3 месяца назад пользователем Webliberty.
    Модератор Yui

    (@fierevere)

    永子

    там не через admin-ajax.php запрос

    health-check проверяет доступность /wp-admin/

    редактирование плагинов и тем работает соответственно через
    /wp-admin/plugin-editor.php
    /wp-admin/theme-editor.php

    Добавил:

    <Files plugin-editor.php>
        Order allow,deny
        Allow from all
        Satisfy any
    </Files>
    
    <Files theme-editor.php>
        Order allow,deny
        Allow from all
        Satisfy any
    </Files>

    И все равно:

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

    Кроме того, редактирование файлов плагинов работает из админки из без этих манипуляций.

    • Ответ изменён 6 лет, 3 месяца назад пользователем Webliberty.
    Модератор Yui

    (@fierevere)

    永子

    а временно удалить .htaccess с ограничениями и проверить работоспособность вы не хотите?

    к тому же ваши исключения не включают запрос /wp-admin/
    который и проверяет health-check

    Добавлю следующее:

    1. Базовую авторизацию отключил совсем (файл .htaccess в папке /wp-admin/ переименовал).
    2. В плагине Health Check включил режим Решение проблем, при котором:

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

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

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

    Отметим что, необходимые (MU) плагины не могут и не будут отключены в сеансе решения проблем.

    Петлевой запрос: The loopback request to your site completed successfully.

    Но редактирование по-прежнему недоступно.

    В консоли браузера также:

    {success: false, data: {code: "loopback_request_failed",…}}
    data: {code: "loopback_request_failed",…}
    success: false
    • Ответ изменён 6 лет, 3 месяца назад пользователем Webliberty.

    При отключенном .htaccess в папке /wp-admin/ удалось добиться права редактирования, но пришлось внести правки в основной .htaccess в корне (были настроены редиректы для удаления replytocom и прочего мусора — скорректировал).

    А можно ли оставить папку /wp-admin/ под защитой базовой авторизации и при этом добиться редактирования или это взаимоисключающие функции?

    • Ответ изменён 6 лет, 3 месяца назад пользователем Webliberty.

    Даже в Кодексе написано, что папку wp-admin нужно защищать таким образом, но при этом если стоит защита — невозможно редактировать.

    Открыть доступ к папке для своего IP не могу, т.к. он динамический.

    Предыдущее сообщение почему-то не опубликовалось:

    Это сообщение было помещено автоматической системой в очередь для проверки. Оно будет проверено в течение 72 часов.

    • Ответ изменён 6 лет, 3 месяца назад пользователем Webliberty.
    Модератор Yui

    (@fierevere)

    永子

    
    <Location />
    AuthType Basic
    AuthName "please use your login and password"
    AuthUserFile /.htpasswd
    Require valid-user
    Deny from all
    Allow from 10.10.10.10
    Allow from 127.0.0.1
    Satisfy any
    </Location>
    
    # Allow acces to wp-admin/admin-ajax.php
    <Files admin-ajax.php>
        Order allow,deny
        Allow from all
        Satisfy any
    </Files>

    попробуйте так
    10.10.10.10 замените на IP адрес вашего сайта

    PS: статьи кодекса не претендуют на то, чтобы быть свежими и актуальными.

    • Ответ изменён 6 лет, 3 месяца назад пользователем Yui.

    Получилось! 🙂 Большое спасибо за помощь, Yui!!!

    PS: код использовал без Location, до редактирования Вашего ответа — прописываю в .htaccess в папке /wp-admin/.

    • Ответ изменён 6 лет, 3 месяца назад пользователем Webliberty.
    • Ответ изменён 6 лет, 3 месяца назад пользователем Webliberty.
    • Ответ изменён 6 лет, 3 месяца назад пользователем Webliberty.
Просмотр 12 ответов — с 1 по 12 (всего 12)
  • Тема «Редактирование файлов темы из админки» закрыта для новых ответов.