Относительные URL и скрытие /wp-content/themes/
В моем заголовке и других разделах я хотел бы использовать:
<script src="/incs/js/script.js"></script>
При этом сохраняя стандартную структуру папок темы на сервере:
/wp-content/themes/theme-name/incs/js/script.js
Файл должен быть доступен через браузер/исходный код HTML, но скрывать /wp-content/themes/theme-name
http://website.com/incs/js/script.js
Это также применимо к изображениям, которые могут находиться в /incs/images/imagname.jpg
Я видел решения, где определяют директорию вне папки темы... но мне нужно решение, которое работает внутри неё.
Возможно ли это?
Спасибо

Самый простой способ переместить папку темы — только через константу; включите папку wp-content.
Вы можете задать константы для папки плагинов и папки wp-content. Тогда ваши плагины и темы будут находиться по отдельным URL, а также включаться в исходный код фронтенда.
Вот пример для моих dev-установок:
define( 'WP_CONTENT_DIR', dirname( __FILE__ ) . '/wp-content' );
define( 'WP_CONTENT_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/wp-content' );
// Кастомная директория плагинов
define( 'WP_PLUGIN_DIR', dirname( __FILE__ ) . '/wp-plugins' );
define( 'WP_PLUGIN_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/wp-plugins' );
// Кастомная директория must-use плагинов
define( 'WPMU_PLUGIN_DIR', dirname( __FILE__ ) . '/wpmu-plugins' );
define( 'WPMU_PLUGIN_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/wpmu-plugins' );

В настоящее время я использую технику, описанную в этом вопросе: Какие шаги предпринять, чтобы скрыть факт использования WordPress на сайте?.
До этого я использовал метод темы Roots, который, как мне кажется, вы ищете:
Эта статья содержит информацию о том, как очистить вывод кода WordPress. Описанные ниже методы не предотвращают реальное фингерпринтинг и не должны рассматриваться как мера безопасности.
Обратите внимание, что этот метод не работает в Multisite или дочерних темах.
Я воспроизведу здесь документацию, которую сделал для использования метода Roots:
Изменение правил перезаписи в .htaccess
Большой фрагмент кода напрямую из темы Roots:
https://gist.github.com/4336843 PasteBin mirror.
Массив $roots_new_non_wp_rules
необходимо адаптировать соответствующим образом.
Обновление постоянных ссылок
Перейдите в /wp-admin/options-permalink.php
и нажмите Сохранить изменения.
Загрузка скриптов из CDN вместо /wp-includes/
add_action( 'wp_enqueue_scripts', 'wpse_76593_scripts_custom' );
function wpse_76593_scripts_custom() {
wp_deregister_script('jquery');
wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js', false, '1.7.1', true);
wp_enqueue_script( 'jquery' );
}
Проверьте тему на наличие всех регистраций и подключений стилей и скриптов.
style.css
- создайте новый файл в папке "/css" с именем "style.css"
- откройте файл
style.css
темы - выделите все объявления ниже заголовка файла темы
- вырежьте и вставьте в файл
/css/style.css
сохраните оба файла вкратце:
/ваша-тема/styles.css
будет содержать только информацию заголовка, а/ваша-тема/css/styles.css
будет содержать все стили- замените все вхождения
url('fonts/
наurl('../fonts/
- замените все вхождения
images/
на../images/
- замените все вхождения
header.php
Измените ссылку на таблицу стилей с
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />
на
<link rel="stylesheet" type="text/css" media="all" href="<?php echo get_template_directory_uri(); ?>/css/style.css" />
Все файлы темы
Найдите:
get_bloginfo('template_url')
get_bloginfo('template_directory')
и замените на:
get_template_directory_uri()
Тестирование
Не уверен насчет других браузеров, но Окно активности Safari идеально подходит для проверки всех загружаемых файлов и их URL-адресов.
В зависимости от сложности темы могут потребоваться дополнительные шаги.

Я создал Roots Plug, который имеет те же правила перезаписи в .htaccess
, что и Roots Theme. Но полностью согласен с тем, что сказал @brasofolio здесь

Это можно легко сделать с помощью плагина 'Hide My WP'. Пожалуйста, измените его настройки постоянных ссылок и URL, как показано ниже:
Измените путь к теме в разделе "Постоянные ссылки & URL" на
/incs
.
После изменения этих настроек вы заметите, что bloginfo('template_url')
будет выводить http://website.com/incs/
, и следовательно
http://website.com/incs/js/script.js
Источник: http://howtomakewebsite.ws/wordpress-plugins/how-to-hide-wordpress/731/

Почему вы не используете стандартные функции WordPress bloginfo()
<?php bloginfo( $show ); ?>
<script src="<?php bloginfo('template_directory'); ?>/incs/js/script.js"></script>
подробнее http://codex.wordpress.org/Function_Reference/bloginfo
