{"id":740,"date":"2019-04-29T14:01:10","date_gmt":"2019-04-29T12:01:10","guid":{"rendered":"https:\/\/geekcommunicant.com\/blog\/?p=740"},"modified":"2019-04-29T14:01:11","modified_gmt":"2019-04-29T12:01:11","slug":"deplacer-fichiers-medias-wordpress","status":"publish","type":"post","link":"https:\/\/geekcommunicant.com\/blog\/2019\/04\/29\/deplacer-fichiers-medias-wordpress\/","title":{"rendered":"D\u00e9placer les fichiers de la biblioth\u00e8que de m\u00e9dias de WordPress"},"content":{"rendered":"\n<p>Si pour une raison ou une autre vous voulez d\u00e9placer les fichiers m\u00e9dias dans les dossiers de votre site WordPress, je vais vous expliquer comment faire.<\/p>\n\n\n\n<p>Dans mon cas, j&rsquo;ai eu ce besoin quand j&rsquo;ai voulu d\u00e9sactiver l&rsquo;organisation en dossier annuels et mensuels par d\u00e9faut, et d\u00e9placer tous mes m\u00e9dias \u00e0 la racine du dossier des m\u00e9dias (<code>wp-content\/uploads<\/code>).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Proc\u00e9dure en plusieurs \u00e9tapes<\/h2>\n\n\n\n<p>Pour d\u00e9placer les fichiers m\u00e9dias de votre site WordPress, il faut proc\u00e9der en plusieurs \u00e9tapes :<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>d\u00e9placer les fichiers<\/li><li>modifications en base de donn\u00e9es<\/li><li>modification des articles et pages<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">1 &#8211; D\u00e9placer les fichiers<\/h3>\n\n\n\n<p>Pour cette \u00e9tape, rien de plus simple, il suffit d&rsquo;utiliser votre client FTP pour d\u00e9placer vos fichiers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2 &#8211; Modifications en base de donn\u00e9es<\/h3>\n\n\n\n<p>Le d\u00e9placement des fichiers ne suffit pas, car le chemin vers le fichier est enregistr\u00e9 en base de donn\u00e9es.<\/p>\n\n\n\n<p>Mon premier r\u00e9flexe a \u00e9t\u00e9 d&rsquo;aller voir en base le contenu de la table servant \u00e0 stocker les informations concernant les m\u00e9dias : <code>wp_posts<\/code>. Et dans cette table, BINGO !, une colonne (\u00ab\u00a0guid\u00a0\u00bb) contient l&rsquo;adresse compl\u00e8te vers mon fichier. Je m&#8217;empresse de modifier ce champ pour tous mes m\u00e9dias, et retourne sur la page de biblioth\u00e8que m\u00e9dias de mon blog, et l\u00e0\u2026 rien\u2026<\/p>\n\n\n\n<p>En effet, ce champ \u00ab\u00a0guid\u00a0\u00bb n&rsquo;est pas utilis\u00e9 pour retrouver nos fichiers m\u00e9dias, mais utilis\u00e9 dans la g\u00e9n\u00e9ration des flux (RSS ou autres) de votre site WordPress. Il est donc fortement d\u00e9conseill\u00e9 de changer cette colone, ce qui est trop tard pour moi (voir l&rsquo;article sur le <a href=\"https:\/\/codex.wordpress.org\/Changing_The_Site_URL#Important_GUID_Note\">codex WordPress<\/a>).<\/p>\n\n\n\n<p>Le chemin vers le fichier d&rsquo;un m\u00e9dia est enregistr\u00e9 dans la table <code>wp_postmeta<\/code>. Dans cette table, chaque m\u00e9dia a deux enregistrements qui lui correspondent : \u00ab\u00a0_wp_attached_file\u00a0\u00bb et \u00ab\u00a0_wp_attachment_metadata\u00a0\u00bb (ces noms correspondent \u00e0 la valeur de la colonne \u00ab\u00a0meta_key\u00a0\u00bb).<\/p>\n\n\n\n<p>La ligne \u00ab\u00a0_wp_attached_file\u00a0\u00bb est une simple cha\u00eene de caract\u00e8re qu&rsquo;il est tr\u00e8s facile de modifier.<\/p>\n\n\n\n<p>Quant \u00e0 la ligne \u00ab\u00a0_wp_attachment_metadata\u00a0\u00bb, il s&rsquo;agit d&rsquo;un array s\u00e9rialis\u00e9 (pour en savoir plus sur la s\u00e9rialisation, lisez cet article sur <a href=\"https:\/\/openclassrooms.com\/fr\/courses\/1152946-conservons-nos-variables-avec-serialize\" target=\"_blank\" rel=\"noopener noreferrer\">OpenClassrooms<\/a>). Le chemin est contenu dans la 6e \u00ab\u00a0section\u00a0\u00bb (entre point-virgules) de chaque tableau s\u00e9rialis\u00e9. Quand vous modifiez le chemin, pensez bien \u00e0 \u00e9galement changer le nombre de caract\u00e8res (<code>[...];s:<strong>21<\/strong>:\"2019\/04\/logo_bleu.jpg;[...]\"<\/code> de l&rsquo;entr\u00e9e s\u00e9rialis\u00e9e.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3 &#8211; Modifications des articles et pages<\/h3>\n\n\n\n<p>Il reste maintenant \u00e0 modifier en HTML les pages et articles qui incluent des m\u00e9dias de notre biblioth\u00e8que.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si pour une raison ou une autre vous voulez d\u00e9placer les fichiers m\u00e9dias dans les dossiers de votre site WordPress, je vais vous expliquer comment faire. Dans mon cas, j&rsquo;ai eu ce besoin quand j&rsquo;ai voulu d\u00e9sactiver l&rsquo;organisation en dossier &hellip; <a href=\"https:\/\/geekcommunicant.com\/blog\/2019\/04\/29\/deplacer-fichiers-medias-wordpress\/\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[41],"tags":[42],"class_list":["post-740","post","type-post","status-publish","format-standard","hentry","category-wordpress","tag-wordpress"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2IoOb-bW","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":744,"url":"https:\/\/geekcommunicant.com\/blog\/2019\/05\/06\/automatisation-base-deplacement-fichiers-medias\/","url_meta":{"origin":740,"position":0},"title":"Automatisation des op\u00e9rations en base suite au d\u00e9placement des fichiers de m\u00e9dias","author":"geekc","date":"06\/05\/2019","format":false,"excerpt":"Dans mon dernier article, je pr\u00e9sentais la mani\u00e8re dont j'ai proc\u00e9d\u00e9 pour d\u00e9placer les fichiers de ma biblioth\u00e8que de m\u00e9dias WordPress. Toutes les diff\u00e9rentes op\u00e9rations des \u00e9tapes d\u00e9crites dans cet article \u00e9taient faites \u00e0 la main, ce qui peut \u00eatre long, et une faute de frappe ou un oubli peut\u2026","rel":"","context":"Dans &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/geekcommunicant.com\/blog\/category\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":736,"url":"https:\/\/geekcommunicant.com\/blog\/2019\/04\/22\/theme-enfant-wordpress\/","url_meta":{"origin":740,"position":1},"title":"Cr\u00e9er un th\u00e8me enfant pour WordPress","author":"geekc","date":"22\/04\/2019","format":false,"excerpt":"Un th\u00e8me enfant est un th\u00e8me reprenant toutes les fonctionnalit\u00e9s d'un th\u00e8me existant, qu'on appelera \"th\u00e8me parent\". Pourquoi cr\u00e9er un th\u00e8me enfant ? Les th\u00e8mes WordPress disponibles offrent d\u00e9j\u00e0 un large choix d'options pour les personnaliser. Mais, par exemple, disons que vous voulez modifier la couleur d'un ou plusieurs \u00e9l\u00e9ments,\u2026","rel":"","context":"Dans &quot;WordPress&quot;","block_context":{"text":"WordPress","link":"https:\/\/geekcommunicant.com\/blog\/category\/wordpress\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":778,"url":"https:\/\/geekcommunicant.com\/blog\/2019\/05\/13\/enlever-meta-generator-wordpress\/","url_meta":{"origin":740,"position":2},"title":"Enlever la balise meta \u00ab\u00a0generator\u00a0\u00bb sur votre site WordPress","author":"geekc","date":"13\/05\/2019","format":false,"excerpt":"Je sais qu\u2019il y a quelque temps, j\u2019avais fait un article sur comment rajouter une balise meta \u00ab\u00a0generator\u00a0\u00bb \u00e0 un site MODX, mais cette balise peut remettre en question la s\u00e9curit\u00e9 de votre site. Une faille de s\u00e9curit\u00e9\u00a0? Conna\u00eetre le CMS derri\u00e8re un site peut faciliter la vie \u00e0 toute\u2026","rel":"","context":"Dans &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/geekcommunicant.com\/blog\/category\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":856,"url":"https:\/\/geekcommunicant.com\/blog\/2019\/07\/08\/carte-controle-calques-leaflet\/","url_meta":{"origin":740,"position":3},"title":"Carte avec contr\u00f4le de calques avec Leaflet","author":"geekc","date":"08\/07\/2019","format":false,"excerpt":"Cette semaine encore, nous allons encore voir la cr\u00e9ation d\u2019une carte interactive avec la librairie Leaflet. La carte pr\u00e9sent\u00e9e aujourd\u2019hui utilise les groupes de calques, ainsi que le contr\u00f4le de calques, afin de r\u00e9aliser une carte historique de la ligne 2 du tramway d\u2019\u00cele-de-France. Bref historique Afin d\u2019expliquer le d\u00e9coupage\u2026","rel":"","context":"Dans &quot;JavaScript&quot;","block_context":{"text":"JavaScript","link":"https:\/\/geekcommunicant.com\/blog\/category\/javascript\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":808,"url":"https:\/\/geekcommunicant.com\/blog\/2019\/06\/11\/carte-interactive-metro-paris-leaflet\/","url_meta":{"origin":740,"position":4},"title":"Carte interactive du m\u00e9tro de Paris avec Leaflet","author":"geekc","date":"11\/06\/2019","format":false,"excerpt":"Si on vous parle de solution pour int\u00e9grer une carte sur votre site, la premi\u00e8re qui vous vient \u00e0 l\u2019esprit est surement Google Maps. Mais il existe plusieurs solutions open-source et gratuites. Je vous ai d\u00e9j\u00e0 parl\u00e9 d\u2019OpenLayers, avec laquelle j\u2019ai d\u00e9j\u00e0 refait une carte r\u00e9alis\u00e9e pr\u00e9c\u00e9demment avec jQuery. Mais\u2026","rel":"","context":"Dans &quot;JavaScript&quot;","block_context":{"text":"JavaScript","link":"https:\/\/geekcommunicant.com\/blog\/category\/javascript\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":976,"url":"https:\/\/geekcommunicant.com\/blog\/2022\/12\/02\/gloubi-tuto-un-menu-interactif-hello-kitty\/","url_meta":{"origin":740,"position":5},"title":"Gloubi tuto &#8211; un menu interactif Hello Kitty","author":"geekc","date":"02\/12\/2022","format":false,"excerpt":"Bienvenue sur ce premier gloubi tuto (pour en savoir plus sur les gloubi tutos) qui concerne un menu interactif avec Hello Kitty. Pr\u00e9sentation et explication de l\u2019existant Pour voir la source du script actuel, RDV sur cette page du site de notre nouvel adversaire dans la guerre du gloubi. Le\u2026","rel":"","context":"Dans &quot;JavaScript&quot;","block_context":{"text":"JavaScript","link":"https:\/\/geekcommunicant.com\/blog\/category\/javascript\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/posts\/740","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/comments?post=740"}],"version-history":[{"count":0,"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/posts\/740\/revisions"}],"wp:attachment":[{"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/media?parent=740"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/categories?post=740"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/tags?post=740"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}