web-dev-qa-db-fra.com

Comment changer le nom de la pièce jointe de nom en id

J'ai besoin de changer le slug du poste d'attachement. Actuellement, il montre le nom de la pièce jointe, je veux qu'il soit remplacé par l'identifiant de la pièce jointe.

Edit: Grâce à la suggestion de TheDeadMedic, je vois maintenant les URL avec leur nom de domaine changé en id dans url (slug of the url.). Mais de toute façon, il ajoute maintenant/attachment/à l’url juste avant slug (id). Comment dois-je supprimer cette/pièce jointe /.

1
akshayb

Utilisez le crochet add_attachment pour mettre à jour le slug une fois la pièce jointe insérée:

function wpse_182454_attachment_id_as_slug( $post_id ) {
    if ( get_post_field( 'post_name', $post_id ) != $post_id ) {
        wp_update_post(
            array(
                'ID' => $post_id,
                'post_name' => ( string ) $post_id,
            )
        );
    }
}

add_action( 'add_attachment', 'wpse_182454_attachment_id_as_slug' );
2
TheDeadMedic