Auto-Draft posts getting created Automatically
-
We have created a custom plugin where we are displaying posts list in custom format. I want to add a condition like if the current logged in user role is author and then he can see list of only his posts. If current logged in user role is admin/editor then he should be able to see list of all posts of all authors. I am adding here the snippet of our code - ??????????? function sort_posts_by_title_descending(){ ??????????????????????? var articles = []; ??????????????????????? <?php ??????????? ??????? $args = array( ??????????????????????????????????????????????? 'post_status' => get_post_stati(), ??????????? ??????? ??? 'orderby' => 'TITLE', ??????????? ??????? ??? 'numberposts' => -1, ??????????? ??????? ??? 'order' => 'DESC', ??????????????????????????????????? ); ??????????? ??????? $posts = get_posts($args); ??????????? ??????? if ($posts) { ??????????? ??????????? foreach ( $posts as $post ) { ?> // exit PHP ??????????? ??????????????? var obj = {}; // Create a JS object ??????????? ??????????????? title = "<?php echo esc_js(strval($post->post_title))?>"; ??????????? ????????? ??????post_status = "<?php echo esc_js(strval($post->post_status))?>"; ??????????? ??????????????? obj['title'] = title; ??????????? ??????????????? obj['post_status'] = post_status; ?? ?obj['user_login'] = "<?php echo? esc_js(get_user_by('id', $post->post_author)->user_login); ?????? ????? ?>"; ??????????? ??????????????? obj['article_id'] = "<?php echo esc_js($post->ID) ?>"; ??????????? ??????????????? obj['post_author'] = "<?php echo esc_js($post->post_author) ?>"; ??????????? ??????????????? obj['post_date'] = "<?php echo 'Last Modified '.esc_js($post->post_date); ?>"; ??????????? ??????????????? <?php ??????????? ??????????????? $user_meta = get_userdata(get_current_user_id()); ??????????? ??????????????? $user_roles = $user_meta->roles ? $user_meta->roles[0] : false; ??????????? ??????????????? if ('author' == $user_roles && get_current_user_id()!=$post->post_author) { ??????????????????????????????????????????????????????????????????????? continue; ??????????????????????????????????????????????????????????? } else { ?> ??????????? ??????????????? ??????? articles.push(obj); ??????????? ??????????????? <?php } ??????????? ??????????? } ??????????? ??????? } ??????????? ??? ?> ??????????? ??? return articles; ??????????? } I have added the code which starts from $user_meta = . Whenever the page where lists of posts is displayed in custom format renders I can see that in database Auto-Draft post is created which is displayed on the page as well. But if I open wordpress default posts display page it doesnot display the newly created Auto-draft post there. I am not able to understand why a Auto Draft post is getting created because of addition of my code.
Viewing 1 replies (of 1 total)
Viewing 1 replies (of 1 total)
- The topic ‘Auto-Draft posts getting created Automatically’ is closed to new replies.