web-dev-qa-db-ja.com

添付ファイルを名前からIDに変更するにはどうすればよいですか。

アタッチメントポストのスラグを変更する必要があります。現在、添付ファイルの名前が表示されています。添付ファイルのIDに置き換えてください。

編集:TheDeadMedicによる提案のおかげで、私は今、彼らのポストネームを持つURLがurlの中のidに変更されているのを見ています。しかし、どういうわけか、slug(id)の直前のURLに/ attachment /を追加しています。この/ attachment/partを削除するにはどうすればいいですか。

1
akshayb

添付ファイルが挿入された後にスラッグを更新するためにadd_attachmentフックを使います:

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