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 ); }
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!