Maison >développement back-end >tutoriel php >Comment changer l'adresse de l'image WordPress en chemin relatif
Cet article présente principalement comment modifier l'adresse de l'image WordPress en un chemin relatif. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer. est édité par défaut. J'utilise un chemin absolu, de sorte que lorsque d'autres copient votre article sur d'autres sites Web, les images puissent s'afficher normalement. Cependant, si je souhaite modifier le nom de domaine ou le chemin du blog, alors les adresses de ceux-ci. les images seront invalides et ne pourront pas être affichées normalement.
Yousou.coma trouvé deux façons de résoudre le problème de l'utilisation de chemins relatifs pour les images de modèles WordPress sur Internet. J'espère que cela pourra aider tout le monde. 1. Modifiez
wp-config.php dans le répertoire racine du thème WordPress. Ce fichier n'apparaîtra qu'après l'installation de WordPress. Ajoutez les deux lignes suivantes au fichier.Enregistrez, OK ! Mais cette méthode de modification ne peut utiliser que le répertoire racine du site Web du réseau utilisateur, et utiliser le port par défaut 80
define(‘WP_HOME’, ”); define(‘WP_SITEURL’, ”);
Si vous n'utilisez pas le répertoire racine du site Web, ou si vous utilisez un port non-80 , puis utilisez la seconde méthode
2. Ouvrez le fichier wp-includes/post.php, modifiez la fonction wp_get_attachment_url (3.7.1 à la ligne 4276) par le code suivant
Enregistrez, OK
function wp_get_attachment_url( $post_id = 0 ) { $file_dir=dirname(__FILE__); $server_root=$_SERVER[DOCUMENT_ROOT]; $file_dir=substr($file_dir,strlen($server_root)); $file_dir=substr($file_dir,0,-12); if($file_dir!=”){ $file_dir=’/’.substr($file_dir,1); } $post_id = (int) $post_id; if ( !$post =& get_post( $post_id ) ) return false; $url = ”; if ( $file = get_post_meta( $post->ID, ‘_wp_attached_file’, true) ) { //Get attached file if ( ($uploads = wp_upload_dir()) && false === $uploads['error'] ) { //Get upload directory if ( 0 === strpos($file, $uploads['basedir']) ) //Check that the upload base exists in the file location //$url = str_replace($uploads['basedir'], $uploads['baseurl'], $file); //replace file location with url location $url=$file_dir.”/wp-content/uploads/”.$file; elseif ( false !== strpos($file, ‘wp-content/uploads’) ) //$url = $uploads['baseurl'] . substr( $file, strpos($file, ‘wp-content/uploads’) + 18 ); $url=$file_dir.”/wp-content/uploads/”.$file; else //$url = $uploads['baseurl'] . “/$file”; //Its a newly uploaded file, therefor $file is relative to the basedir. $url=$file_dir.”/wp-content/uploads/”.$file; } } if ( empty($url) ) //If any of the above options failed, Fallback on the GUID as used pre-2.7, not recomended to rely upon this. $url = get_the_guid( $post->ID ); if ( ‘attachment’ != $post->post_type || empty($url) ) return false; return apply_filters( ‘wp_get_attachment_url’, $url, $post->ID ); }De cette façon, les chemins de fichiers multimédia dans les journaux d'articles que vous écrirez à l'avenir utiliseront tous des chemins relatifs. Les adresses d'image ne deviendront pas invalides après avoir modifié l'espace du nom de domaine ! Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois ! Recommandations associées :
WordPress prend en charge la mise en œuvre de la liaison/de l'accès à plusieurs noms de domaine
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!