web-dev-qa-db-fra.com

Est-il possible de changer les URL des images avec des hooks?

J'ai déplacé mon répertoire de téléchargement sur un autre serveur. Par exemple, une URL qui pointait vers:

http://example.com/wp-content/uploads/2015/05/image.jpg

devrait pointer ici dans la nouvelle situation:

http://otherexample.com/2015/05/image.jpg

Je sais que je pourrais le faire en appliquant une règle de réécriture ou en effectuant une recherche et un remplacement dans la base de données, mais pour diverses raisons, ce n'est pas ce que nous souhaitons.

Maintenant, je sais qu'il est possible de changer les URL de posts, etc. en utilisant les filtres hooks post_link, page_link et post_type_link. Je me demandais, existe-t-il aussi un crochet qui peut être utilisé pour changer les URL d’images lorsque celles-ci sont demandées au système?

Je me concentre principalement sur les URL des images en vedette et autres, telles que les images dans le contenu du message sont en texte brut dans la base de données.

Cordialement, Joost.

1
jberculo

Si vous souhaitez modifier (utiliser différents) URL uniquement pour l'image en vedette, vous pouvez utiliser le crochet pre_option_upload_url_path.

// Setting the uploads directory URL
function wpse_change_featured_img_url() {
  return 'http://www.example.com/media/uploads';
}
add_filter( 'pre_option_upload_url_path', 'wpse_change_featured_img_url' );

Ce hook ne modifiera pas les URL de manière permanente, mais il définira temporairement le répertoire de téléchargement sur une URL différente.

Cela ne changera pas non plus l'URL des images de publication, vous devrez les changer manuellement ou avec une requête SQL.

1
Robert hue