elegants-rubans-coin-featured-psd_54-10115[1]

Posez-moi la question n°2
Supprimer toutes les images à la une en 1 ligne de code

Question

@YoungiPhone a posé la question suivante sur le hashtag #WPHelp :

Réponse

À ça je n’ai qu’une seule ligne à répondre :

delete_metadata( 'post', false, '_thumbnail_id', '', true );

Cette ligne vient se mettre dans le fichier functions.php de votre thème enfant ou dans un mu-plugin. Si vous ne savez pas décider, lisez ceci.

Explications

La fonction delete_metadata() permets de supprimer tout type de données meta, habituellement vous utilisez surement delete_user_meta() ou delete_post_meta() etc

Ces fonctions sont justement utiliser delete_metadata(). Ce qui nous interesse c’est son dernier paramètre $delete_all qui nous permets d’éviter de lui passer un ID (celui d’un user ou d’un post par exemple).

Ce paramètre magique permets de TOUT supprimer ! J’ai donc utilisé le type de meta post et utilisé la clé _thumbnail_id qui est la meta donnée contenant l’ID de l’image à la une en question.

Bonus

Si vous aviez voulu simplement les désactiver afin de les récupérer par la suite, il aurait plutôt fallu faire ça :

global $wpdb;
$wpdb->update( $wpdb->postmeta, array( 'meta_key'=>'_temp_thumbnail_id' ), array( 'meta_key'=>'_thumbnail_id' ) );

Ce code va remplacer le nom de la clé de ma donnée meta, ce qui va « désactiver » l’image à la une.

Pour la récupérer, faites :

delete_metadata( 'post', false, '_thumbnail_id', '', true );

global $wpdb;
$wpdb->update( $wpdb->postmeta, array( 'meta_key'=>'_thumbnail_id' ), array( 'meta_key'=>'_temp_thumbnail_id' ) );

Voilà, on supprime d’abord celles qui vous auriez remises en place, puis on refait l’update à l’envers !

Utile non ?

Lire la suite

Vous aimez ? Partagez !

7 réflexions sur “ Posez-moi la question n°2

Envie de dire quelque chose ?

Avant de parler, merci de lire la charte des commentaires.

Utiliser le tag [php][/php] pour ajouter du code ou utilisez un service comme pastebin.com.
Cibler un commentateur avec un "@", merci à Mention Comments Authors !