Wordpress

Cara Mengambil Editor Yang Publish Post di WordPress

Untuk blog multi author, editor atau user yang mempublikasi artikel menjadi salah satu yang wajib di ketahui, terlebih jika memiliki beberapa editor.

Secara default WordPress tidak memiliki fitur yang mencatat siapa yang melakukan publikasi artikel untuk contributor yang mensubmit post di blog.

Alternatifnya, kita bisa membuat memanfaatkan hook yang dapat mencatat aktivitas setiap kali ada action save post untuk memasukkan code tertentu atau pun mencatat author yang mempublikasinya, berikut codenya

Code ini di tempatkan di function.php di folder theme wordpress kita.

/// save post meta
function save_post_meta( $post_id, $post, $update ) {
    $post_type = get_post_type($post_id);
 $userupdate=get_current_user_id(); 

    update_post_meta( $post_id, '_doseniteditor', $userupdate);
}
add_action( 'save_post', 'save_post_meta', 10, 3 );

Code add_action( ‘save_post’, ‘save_post_meta’, 10, 3 ); berfungsi untuk mengeksekusi code setiap kali ada action save post.

Update_post_meta digunakan untuk mencatat di post meta dengan meta key dan meta value yang kita tentukan (“_doseniteditor” adalah meta keynya, “$userupdate” adalah meta valuenya ) dalam kasus ini meta valuenya adalah user editor yang melakukan publikasi .

Kode selanjutnya adalah untuk menampilkan user edit / publikasi tersebut pada halaman dashboard.

Halaman ini adalah untuk menampilkan column editor di dashboard post:

// add colum last editor
function lasteditor( $columns ) {
    $post_new_columns = array(
       'post_editor' => esc_html__( 'Editor', 'text_domain' ),
    );
    return array_merge( $columns, $post_new_columns );
}

Fungsi di bawah ini adalah untuk menampilkan editor terakhir post agar dapat di tampilkan user login ataupun bisa di ubah menjadi display name.

function editorpost( $column, $post_id ) {
 global $post; 
 global $wpdb;
    switch ( $column ) {
        case 'post_editor' :
   $author_id=$post->post_author;
           
$guser = $wpdb->get_results("SELECT meta_value FROM xxxx_postmeta where meta_key='_doseniteditor' and post_id=$post_id");
   $idedit= 0;
   foreach ( $guser as $guser_s ) 
      {
    $idedit =$guser_s->meta_value;
   }
   
   
        $user_detil = get_userdata($idedit);
    $logineditor =  $user_detil->user_login;   
   
     echo  $logineditor; 
                
       }
}

Selanjutnya untuk memasukkan di dashboard post, di butuhkan action untuk mempin hook tersebut.

add_action( 'manage_posts_columns' , 'lasteditor', 10, 3 );
// Add the data to the custom columns for the book post type:
add_action( 'manage_posts_custom_column' , 'editorpost', 10, 3 );

Dengan demikian, kita dapat menampilkan editor yang mempublikasi post.


Sutiono S.Kom., M.Kom ., M.T.I

Hi, i'm lecturer, technopreneur, investor, businessman, of course an IT Maniac. Have more than 12 years experience in as professional, and 10 years as technopreneur.

Share