[WordPress] Une fonction pour cloner rapidement un billet et ses attributs


Les blogueurs réguliers ont tous leurs petites habitudes et notamment celle de faire des billets récurrents. Chez moi c’est la piqure de rappel du lundi. Certes il est possible d’automatiser ceux-ci, avec des plugins du type The Loop, mais parfois ce n’est pas le cas.

Voici une petite fonction qui permet de cloner un billet et tous ses attributs. Placée dans le fichier functions.php ou dans un plugin de fonctions, elle duplique le billet passé en paramètre par simple appel.

<?php
	function duplicate($post) {
		$title =  get_the_title($post);
		$post = array(
			'post_title' => $title,
			'post_status' => 'publish',
			'post_type' => 'post',
			'post_author' => 1
		);
		$post_id = wp_insert_post( $post );

		$data = get_post_custom($post);

		foreach ( $data as $key => $values) {
			foreach ($values as $value) {
				add_post_meta( $post_id, $key, $value );
			}
		}

		return $post_id;
	}
?>

Il vous suffira de l’appeler où bon vous semble. L’ajout d’un bouton dans la page qui liste les articles ou dans la barre d’administration est adapté.

Très pratique pour gagner du temps.