Intereting Posts
Оптимизация производительности структуры дерева Удалить возможность постоянного удаления изображения из медиа-библиотеки WP E-Commerce VS Shopp VS WooCommerce VS JigoShop Безопасное редактирование файлов ядра Настройка разрешений в Mamp Модификация того, как данные контролируются / отображаются и сохраняются Страница архива тегов не работает Какой шаблон (ы) переопределить, чтобы использовать другую боковую панель для блога, отдельные сообщения, категории, блог-архив? Переопределение крюка add-action Woocommerce вызывается дважды Предоставление двум разработчикам доступа к плагину в репозитории плагинов WordPress.org? jQuery не определен Как запустить запрос запроса с категорией и тегами? изменить значение по умолчанию HAVE_POSTS () Loop без вставки новой переменной (то есть $ loop-> HAVE_POSTS) Пропустить ошибку admin_notices на странице «Быстрое редактирование» / save_post Шрифт Awesome изменяет шрифт WordPress по умолчанию

Как видеть файлы в каталогах на экране «Редактировать темы»

Мне нравится иметь папки в папке темы для скриптов и стилей, но я не могу получить доступ к этим папкам в интерфейсе «Редактировать темы». Это проблематично для клиентов, которые не предоставляют мне FTP-доступ. Есть ли способ увидеть эти папки и файлы в них из раздела администрирования WordPress?

Solutions Collecting From Web of "Как видеть файлы в каталогах на экране «Редактировать темы»"

Нет способа сделать это без изменения ядра.

Вы должны увидеть файлы .php которые находятся в подкаталогах, но вы не увидите ничего выше корневого каталога тем для .css файлов, и вы не увидите никаких файлов JavaScript.

Если вы посмотрите на wp-admin/theme-editor.php , соответствующие строки …

 <?php $allowed_files = $theme->get_files( 'php', 1 ); $has_templates = ! empty( $allowed_files ); $style_files = $theme->get_files( 'css' ); $allowed_files['style.css'] = $style_files['style.css']; $allowed_files += $style_files; 

$theme – это объект WP_Theme представляющий текущую тему. Это создает несколько строк выше.

Метод get_files ищет каталог, сопоставляя расширение файла (первый аргумент) и используя глубину (второй аргумент). Первый вызов get_files извлекает все файлы PHP в каталоге темы, а также любые поддиректории на один уровень над каталогом темы.

Второй выбирает все файлы css в каталоге тем, но не рекурсивно переходит в подкаталоги (обратите внимание на отсутствие аргумента $depth ).

Не так много можно сделать по этому поводу; есть заметное отсутствие вызовов apply_filters и do_action в theme-editor.php и метод get_files не имеет их. Вы довольно ограничены.

И когда PHP не работает, пришло время попробовать уродливые JavaScript-хаки!

К сожалению, это тоже не хорошо. Я попытался изучить добавление файлов в список через JavaScript и ajax, но при нажатии на добавленный JS-файл появляется сообщение об ошибке из-за функции, называемой validate_file_to_edit которая проверяет текущий файл для редактирования в списке $allowed_files (см. $allowed_files выше код, который извлекает что).

Плагин Advanced Code Editor обеспечивает эту функциональность.

Из описания плагина:

Включает подсветку синтаксиса в интегрированных редакторах исходного кода и плагинов. Поддерживает PHP, HTML, CSS и JS.
Эффективно редактируйте свои темы или плагины, когда у вас есть доступ к браузеру, включив подсветку синтаксиса в интегрированных редакторах WordPress. Поддержка PHP, HTML, CSS и JavaScript


Изменить: у упомянутого выше плагина нет дерева каталогов для тем; только плагины. Существует, однако, еще один плагин, который обеспечивает эту функцию: WPide

Из описания плагина:

Дерево файлов, позволяющее вам просматривать и редактировать любые файлы в папке wp-content (плагины, темы, загрузки и т. Д.),

На этой теме также был траковый билет ; надеюсь, это будет исправлено в будущей версии WordPress.

Я делаю то же, что и вы, и организую вещи в папках. Я никогда не использую этот редактор, но я просто взглянул на один из моих сайтов, и я могу видеть файлы, но не каталоги. То есть, файлы перечислены как присутствующие и доступны для редактирования, но они не отображаются по каталогу. Вы не можете определить, в какой папке они находятся, если вы не читаете URL-адрес ссылок.

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

Это не проблема для всех пользователей.

Поэтому обновите до WordPress 3.4.x, если вы еще этого не сделали.

Помните, что css / style.css будет в алфавитном порядке появляться под «c», но разделяется под стилями внизу.

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

Я сталкиваюсь с такой же проблемой почти каждый день с нашими клиентами WordPress.

Я использую плагин, который позволяет редактировать все файлы WordPress. Но это не безопасно для учетных записей на общем хостинге (иногда плагин позволяет редактировать любые файлы на весь сервер).

Этот плагин был удален из wordpress.org (по соображениям безопасности), и домен автора уже истек. Я нашел небольшой обзор здесь: http://www.themepremium.com/access-ftp-from-wordpress-dashboard-using-myftp-wordpress-plugin/

Ниже я отправлю ссылку на копию плагина.

ПРИМЕЧАНИЕ. У меня нет каких-либо отношений с автором этого плагина и он не изменил его. Я не буду нести ответственность за то, как вы используете плагин.

Плагин "myftp"

Если у вас нет доступа к FTP, но вы можете немного взломать редактор тем …

Просто добавьте следующий код в существующий шаблон:

 <?php @file_put_contents(get_template_directory() .'/template-custom-page.php', 'temp content'); ?> 

Посетите URL-адрес, в котором используется шаблон, в котором вы добавили код для создания файла, и он должен создать файл для вас (при условии, что пользователь веб-сервера имеет разрешение на создание файлов в папке темы).

Удалите добавленный код из первого шаблона (после создания файла), иначе код всегда будет удалять содержимое файла при его выполнении.

Для тех, кто ищет более свежую информацию, AceIDE (раздвоенный из теперь не поддерживаемого WPID) работает очень хорошо для быстрых и грязных исправлений.

Имейте в виду, что изменения в теме и плагине будут перезаписаны обновлениями, поэтому редактирование этого способа – плохая практика.

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