Je souhaite supprimer l'URL du site Web de toutes les the_post_thumbnail()
afin qu'elles deviennent relatives et suppriment/ajoutent des attributs à la sortie.
Jusqu'à présent, le code suivant a été ajouté au fichier functions.php du thème. Je ne sais pas comment modifier la vignette $html
pour la deuxième partie.
L'aide est appréciée
add_filter( 'post_thumbnail_html', 'my_post_image_html', 10, 3 );
function my_post_image_html( $html, $post_id, $post_image_id, $size ) {
// Create relative url using pars_url in php
$relURL = wp_get_attachment_url( $post_id ); // Get Post thumbnail Src instead of permalink
$relURL = parse_url( $relURL );
$relURL = $relURL['path'];
//Pass the relURL to post_thumbnail_html modify the src attribute
$html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_post_field( 'post_title', $post_id ) ) . '">' . $html . $imgsrc .$post_id . '</a>';
return $html;
}
C’est une fonction plutôt débile, mais elle fait le travail, elle transformera la vignette de votre message en une URL relative. Vous ne savez pas pourquoi vous feriez cela, utilisez-le avec prudence, souhaitez probablement ajouter une vérification d'erreur.
function wpse_83137_relative( $html, $post_id) {
// get thumb src
$post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
$post_thumbnail_id = get_post_thumbnail_id( $post_id );
$urly = wp_get_attachment_image_src($post_thumbnail_id );
//parse the url
$parse_it = $urly[0];
$parsed_url = parse_url($parse_it, PHP_URL_PATH);
//add other stuff
$some_thing = 'something else you want to add';
//output relative link, add more stuff here if you want for inside html tags
$img = '<img src="' . $parsed_url . '">';
return $img . $some_thing;
}
add_filter( 'post_thumbnail_html', 'wpse_83137_relative', 10, 3 );