I have a form in single.php, it submits data to wp_update_post()
on the same page. The problem is, whenever single.php loads, my update function launches after The Loop is already loaded and after it has already retrieved that post from the database.
I have to refresh the page to see any changes I made with wp_update_post()
.
This is how I update the post:
$queried_object = get_queried_object();
$my_post = get_post($queried_object->ID);
if(isset($_POST['submit']) && isset($_POST['singleedit'])) {
$my_post->post_content = $_POST['singleedit'];
wp_update_post($my_post);
}
Even if I put it just after the header it's launched after the post in question is downloaded from the DB.
Is there a way to change post's content in single.php before it's downloaded from the database?
EDIT: Excuse me, I realized that I wasn't clear enough. The form is for admins only, it's a wp_editor from which they can update post's content. I already managed all of the layout concerns etc. I want admins to be able to modify the content of the post they're viewing.