web-dev-qa-db-fra.com

URL relatives et masquer/wp-content/themes /

dans mon en-tête et d'autres sections, j'aimerais utiliser

<script src="/incs/js/script.js"></script>

Tout en conservant la structure de dossiers de thèmes par défaut sur le serveur, comme indiqué ci-dessous

/wp-content/themes/theme-name/incs/js/script.js

le fichier doit être accessible via le navigateur/la source HTML si nécessaire afin de masquer/wp-content/themes/nom-thème

http://website.com/incs/js/script.js

Ceci est également applicable aux images que je peux avoir sous /incs/images/imagname.jpg

J'ai déjà vu des solutions permettant de définir le répertoire situé en dehors du dossier de thèmes ... mais j'ai besoin d'une solution qui le fasse au sein de.

Est-ce possible?

Merci

5
MonteCristo

Le moyen le plus simple de déplacer votre dossier de thème est uniquement via constant; inclure le dossier wp-content. Vous pouvez définir une constante pour le dossier du plugin et le dossier wp-content. Ensuite, vos plugins et thèmes se trouvent dans une URL distincte, ainsi que dans l'inclusion dans le source de l'interface.

comme cet exemple pour mon installateur de dev:

define( 'WP_CONTENT_DIR',  dirname( __FILE__ ) . '/wp-content' );
define( 'WP_CONTENT_URL',  'http://' . $_SERVER['HTTP_Host'] . '/wp-content' );
// Custom plugin directory
define( 'WP_PLUGIN_DIR',   dirname( __FILE__ ) . '/wp-plugins' );
define( 'WP_PLUGIN_URL',   'http://' . $_SERVER['HTTP_Host'] . '/wp-plugins' );
// Custom mu plugin directory
define( 'WPMU_PLUGIN_DIR', dirname( __FILE__ ) . '/wpmu-plugins' );
define( 'WPMU_PLUGIN_URL', 'http://' . $_SERVER['HTTP_Host'] . '/wpmu-plugins' );
5
bueltge

De nos jours, j'utilise la technique que je décris dans cette Q: Étapes à suivre pour masquer le fait qu'un site utilise WordPress? .

Avant cela, j’utilisais la méthode méthode du thème Roots , et c’est ce que je pense que vous recherchez:

Cet article contient des informations sur la façon de nettoyer la sortie de code WordPress. Les méthodes décrites ci-dessous n’empêchent pas les empreintes digitales et ne doivent en aucun cas être considérées comme une mesure de sécurité.

Notez que cela ne fonctionne pas dans les thèmes multisites ou enfants.


Je vais reproduire ici la documentation que j'ai créée pour utiliser la méthode Roots:

Modification de .htaccess Rewrite Rules

Gros morceau de code directement à partir du thème Roots:
https://Gist.github.com/433684 miroir Pastebin.
Le tableau $roots_new_non_wp_rules doit être adapté en conséquence.

Actualiser les permaliens

Allez à /wp-admin/options-permalink.php et cliquez sur Save Changes.

Charger des scripts à partir de CDN et non de /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' );
}

Recherchez dans le thème tous les registres de style et de script, ainsi que les mises en file d'attente.

style.css

  1. créer un nouveau fichier dans le dossier "/ css" nommé "style.css"
  2. ouvrez le style.css du thème
  3. sélectionnez toutes les déclarations ci-dessous en-tête du fichier de thème
  4. couper et coller dans le fichier /css/style.css
  5. sauvez les deux en bref: /your-theme/styles.css ne contiendra que les informations d'en-tête, et /your-theme/css/styles.css contiendra tous les styles

    • changer toutes les occurrences de url('fonts/ avec url('../fonts/
    • changer toutes les occurrences de images/ avec ../images/

header.php

Changer le lien de la feuille de style de

<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" /> 

Tous les fichiers de thème

Rechercher:

  • get_bloginfo('template_url')
  • get_bloginfo('template_directory')

et remplacer par:

  • get_template_directory_uri()

Essai

Pas sûr des autres navigateurs, mais Safari Activity Window est idéal pour vérifier tous les fichiers chargés et leurs URL.

Selon la complexité du thème, des mesures supplémentaires doivent être prises.

3
brasofilo

J'ai créé le Roots Plug qui a le même .htaccess réécrit que le thème Roots. Mais tout à fait d'accord avec ce que @brasofolio a déclaré

3
Zach

Ceci peut être facilement réalisé en utilisant le plugin ' hide my wp '. Veuillez modifier ses paramètres de permaliens et d'URL comme indiqué ci-dessous:

Change theme path under Permalinks & urls to /incs Changez le chemin du thème sous Permaliens & urls en /incs.

Une fois que vous avez modifié ces paramètres, vous remarquerez que bloginfo('template_url') restituera http://website.com/incs/ et donc

 http://website.com/incs/js/script.js

Référence: http://howtomakewebsite.ws/wordpress-plugins/how-to-hide-wordpress/731/

1
vDog