Intereting Posts
есть действие update_post_meta ACF: post query, hide duplicate values ​​ Использовать шаблон для сообщений с определенной категорией grandparent Плагин Favicon для WordPress работает в сетевом режиме (multisite)? Повторить множественную таксономию в пользовательских сообщениях Как перенаправить нового пользователя WordPress на предыдущую страницу после регистрации Как интегрировать карусель совы в тему без использования плагина? Ошибка cookie при первом попытке входа в систему Загрузка нескольких комментариев через Ajax? Загрузка таблицы стилей на определенной странице Как заменить обычные вызовы jquery на вызовы CDN от Google? WordPress с пользовательским запросом woocommerce wpdb не может получить ассоциативные данные массива в запросе графа w3 Общее кэширование кэширования – Запрошенный URI отклонен Как проанализировать новые пользовательские данные из WordPress на стороннее CRM-программное обеспечение?

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

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

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

Вы должны увидеть файлы .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-доступ, вам не следует работать на них. Вы могли бы потратить время, чтобы взломать ядро ​​и найти лучших клиентов.