In the media library every attachment post has an “Attached to” column. I’ve developed a plugin that adds author profile and a facebook like banner image.
I now discovered that the attachment posts, that are used as profile pictures, are not marked as “attached to”.
I used a wordpress console plugin to get WP_Post
objects of a linked and of an unlinked attachment. But I couldn’t find any difference between them that I could use to set it manually.
Is there any way to set the attached ststus of attachment posts?
Attachments are attached to a parent post. So when you get an attachment object, look into
$attachment->post_parent
. If that is0
, the file is not attached.The parent post ID refers always to another post in the
posts
table, never to an user. To attach the file to a user, you could create a hidden custom post type and one entry per user. But I donât think it is worth the efforts. There is nothing wrong with unattached files.To change the
post_parent
value usewp_update_post()
.Pseudo-code, not tested: