Pourquoi connaître le chemin absolu de votre wp-content ?

Dans certains cas et pour certaines fonctions php telles que file_exists() il est utile de connaître le chemin absolu d’un dossier situé dans votre répertoire wp-content à partir de son URL. Cette petite fonction que vous placerez dans le fichier functions.php de votre thème enfant (ou dans un fichier functions-utiles.php) vous le donnera facilement :

				
					function get_wp_content_path_from_url( $absolute_url ) {
    // Obtenir l'URL de base du site
    $site_url = site_url('/');
    
    // Obtenir le chemin serveur absolu du répertoire wp-content
    $wp_content_dir = realpath(ABSPATH . 'wp-content');
    
    // Remplacer la partie de l'URL correspondant au site par le chemin serveur équivalent
    $relative_path = str_replace($site_url, '', $absolute_url);
    
    // Générer le chemin complet sur le serveur
    $server_path = $wp_content_dir . '/' . str_replace('wp-content/', '', $relative_path);

    return $server_path;
}

				
			

Comme vous le voyez cette fonction utilise divers fonctions et constantes natives de WordPress. site_url() et ABSPATH définie dans votre fichier wp-config.php, qui représente le chemin absolu vers la racine de votre installation WordPress.

Puis vous appellerez cette fonction là où vous en avez besoin, par exemple dans un dossier perso que vous aurez créé dans wp-content/uploads :

				
					$absolute_url = "https://mon-site.com/wp-content/uploads/mon-dossier-perso";
$chemin = get_wp_content_path_from_url( $absolute_url );

// ce qui vous donnera quelque chose comme :
/home/xxxxxxxx/domains/mon-site.com/public_html/wp-content/uploads/mon-dossier-perso
				
			

Exemple d'une fonction utilisant le chemin absolu de votre wp-content

				
					<?php
//url d'un fichier https://votre-site.com/wp-content/uploads/mon-dossier/image.jpg
$url_image = "https://votre-site.com/wp-content/uploads/mon-dossier/image.jpg";
$chemin_image = get_wp_content_path_from_url( $url_image );
if( file_exists ( $chemin_image )){
    echo "L'image existe";
}else{
    echo "L'image n'existe pas";
}
				
			

Conclusion : chemin absolu de votre wp-content

Vous savez maintenant comment récupérer facilement le chemin absolu de votre wp-content grâce à cette petite fonction toute simple.

Chemin absolu de votre wp-content

Laisser un commentaire