Edit message from update interface

So, I have the following code to enable front-end editing for Wordpress: https://wordpress.stackexchange.com/questions/9912/front-end-post-editing-using-a-form

 <?php
    if ( 'POST' == $_SERVER['REQUEST_METHOD'] && ! empty($_POST['post_id']) && ! empty($_POST['post_title']) && isset($_POST['update_post_nonce']) && isset($_POST['postcontent']) )
    {
    $post_id   = $_POST['post_id'];
    $post_type = get_post_type($post_id);
    $capability = ( 'page' == $post_type ) ? 'edit_page' : 'edit_post';
    if ( current_user_can($capability, $post_id) && wp_verify_nonce( $_POST['update_post_nonce'], 'update_post_'. $post_id ) )
    {
        $post = array(
        'ID'             => esc_sql($post_id),
        'post_content'   => esc_sql($_POST['postcontent']),
        'post_title'     => esc_sql($_POST['post_title'])
    );
        wp_update_post($post);

        if ( isset($_POST['edit_test']) ) update_post_meta($post_id, 'edit_test', esc_sql($_POST['edit_test']) );
        if ( isset($_POST['edit_test2']) ) update_post_meta($post_id, 'edit_test2', esc_sql($_POST['edit_test2']) );
                        }
                        else
                        {
                            wp_die("You can't do that");
                        }
                    }
                ?>

    <form class="royal_page" role="form" method="post">                 
        <input type="hidden" name="post_id" value="<?php the_ID(); ?>" />
        <?php wp_nonce_field( 'update_post_'. get_the_ID(), 'update_post_nonce' ); ?>

        <p><label for="post_title">Title</label>
        <input type="text" id="post_title" name="post_title" value="<?php echo $post->post_title; ?>" /></p>

        <p><?php wp_editor( $post->post_content, 'postcontent' ); ?></p>

        <p><label for="post_title">Test</label>
        <?php $value = get_post_meta(get_the_ID(), 'edit_test', true); ?>
        <input type="text" id="edit_test" name="edit_test" value="<?php echo $value; ?>" /></p>

        <p><label for="post_title">Test 2</label>
        <?php $value = get_post_meta(get_the_ID(), 'edit_test2', true); ?>
        <input type="text" id="edit_test2" name="edit_test2" value="<?php echo $value; ?>" /></p>

    <input type="submit" id="submit" value="Update" />           
   </form>      

So editing the record itself works very well. As soon as editing is submitted, then the page refreshes.

I see the changes that were made after the update. However, the edit form no longer contains content, and I have to refresh the page again to see it (see image below).

enter image description here

Does anyone know why this is possible, and if there is any solution, how to fix it?

Thanks!

+4
source share
1

, , :

- : 1. : <?php if(have_posts()): while(have_posts()): the_post(); ?>

  1. : if ( 'POST' == $_SERVER['REQUEST_METHOD'] && ! empty($_POST['post_id']) && ! empty($_POST['post_title']) && isset($_POST['update_post_nonce']) && isset($_POST['postcontent']) ) ...

  2. .


: 1. : if ( 'POST' == $_SERVER['REQUEST_METHOD'] && ! empty($_POST['post_id']) && ! empty($_POST['post_title']) && isset($_POST['update_post_nonce']) && isset($_POST['postcontent']) ) ...

  1. : <?php if(have_posts()): while(have_posts()): the_post(); ?>

  2. .

+1

All Articles