How to update the children of a post?
-
14-04-2021 - |
سؤال
i found nothing about it in the WP reference and Google, so i ask you: I want to update a post by a form - and with it its children.
$post = array(
'ID' => $mainid,
'post_status' => 'wartend'
);
$lead = wp_update_post($post);
$children = get_children( $mainid );
foreach ($children as $child){
wp_update_post(
array(
'ID' => $child,
'post_status' => 'wartend',
'post_parent' => $mainid
)
);
}
The post is getting updated, but not the children.
المحلول
get_children
returns an array of post objects by default:
https://developer.wordpress.org/reference/functions/get_children/
So you would have to use 'ID' => $child->ID
, in this case... also my want to wrap the foreach with if (count($children) > 0) {}
to prevent possible errors where there are no children. ie:
$children = get_children( $mainid );
if (count($children) > 0) {
foreach ($children as $child){
wp_update_post(
array(
'ID' => $child->ID,
'post_status' => 'wartend',
'post_parent' => $mainid
)
);
}
}
}
لا تنتمي إلى wordpress.stackexchange