Frontend-Bearbeitung, Frontend User Dashboard

Ich erstelle eine Website, damit Benutzer ihre Artikel vom Frontend einreichen können. Ich habe einiges eingerichtet:

  • Die Möglichkeit, benutzerdefinierte Post-Typen vom Frontend aus zu übermitteln
  • Vom Back-End blockiert.

Ich möchte eine Seite (für angemeldete Benutzer) mit der Bezeichnung “Meine Posts” oder meine “Übermittlungen” erstellen, die angemeldeten Benutzern ihre eigenen benutzerdefinierten Postpost-Typen und ihren Status anzeigt, damit sie wissen, was veröffentlicht wurde und was sein wird veröffentlicht in der Zukunft, ausstehende, Entwürfe (damit sie zurückgehen und bearbeiten können), und ausstehende (so dass ich als Editor weiß, wenn ein Artikel für meine Überprüfung bereit ist).

Ich denke, ich suche ein Frontend User Dashboard. Ich habe versucht, WP User Frontend, aber es kollidiert mit s2member und zeigt keine Beiträge von s2member registrierten Benutzern.

Ich brauche nur etwas Einfaches, das den Benutzern einfachen Zugriff vom Frontend ermöglicht, um ihre Posts zu verwalten. Ich habe Plug-in nach Plugin versucht und Dinge zu meinem Short-Code-Ersteller hinzugefügt, aber nichts funktioniert so, wie ich es brauche.

Es muss nicht hübsch sein, nur ein einfacher Code, den ein Nicht-Coder (wie ich) per benutzerdefinierten Post-Typen aktualisiert.

Um weiter zu erklären, möchte ich einen Code auf einer Seite haben, der den Benutzern alle von ihnen eingereichten Angebote (und ihren Status) und einen anderen Code zeigt, um den Benutzern alle Artikel zu zeigen, die sie eingereicht haben (und ihren Status), etc.

Jede Hilfe wäre sehr nützlich

Danke im Voraus!

Solutions Collecting From Web of "Frontend-Bearbeitung, Frontend User Dashboard"

Ich habe etwas, das ich von Zeit zu Zeit benutze, wenn ich so etwas brauche:

< ?php /* Plugin Name: List User Posts Plugin URI: http://en.bainternet.info Description: lists user posts on the front end Version: 0.1 Author: Bainternet Author URI: http://en.bainternet.info */ if (!class_exists('list_user_posts')){ /** * list_user_posts * @author Ohad Raz */ class list_user_posts { /** * __construct class constructor * * @author Ohad Raz * @param array $args */ function __construct($args = array()) { add_shortcode('user_posts', array($this,list_user_posts)); } /** * list_user_posts shortcode handler * * @author Ohad Raz * @param array $attr shortcode attributes * @param string $content shortcode content * @return string */ public function list_user_posts($attr = array(), $content = null) { extract(shortcode_atts(array( 'post_type' => 'post', 'number' => 10, ), $attr)); //if the user is not logged in the give him a link to log in if (!is_user_logged_in()){ return sprintf(__('You Need to Login to see your posts'),wp_login_url(get_permalink())); } //this is for pagination $pagenum = isset( $_GET['pagenum'] ) ? intval( $_GET['pagenum'] ) : 1; //get user's posts $args = array( 'author' => get_current_user_id(), //this makes the query pull post form the current user only 'post_status' => array('draft', 'future', 'pending', 'publish'), 'post_type' => $post_type, 'posts_per_page' => $number, 'paged' => $pagenum ); $user_posts = new WP_Query( $args ); $retVal = ''; if ( $user_posts->have_posts() ) { //set table headers $retVal = ' '; //loop over and add each post to the table global $post; $temp = $post; while ($user_posts->have_posts()){ $user_posts->the_post(); $title = $post->post_title; $link = ''.$title.''; $retVal .= ''; } $retVal .= '
'.__( 'Title', 'lup' ).' '.__( 'Status', 'lup' ).' '.__( 'Actions', 'lup' ).'
'.( in_array( $post->post_status, array('draft', 'future', 'pending') ) ? $title : $link).' '.$post->post_status .' '. __( 'Edit', 'lup' ).' '.__( 'Delete', 'lup' ).'
'; //create pagination (if needed) if ($user_posts->found_posts > $number ){ $pagination = paginate_links( array( 'base' => add_query_arg( 'pagenum', '%#%' ), 'format' => '', 'prev_text' => __( '«', 'lup' ), 'next_text' => __( '»', 'lup' ), 'total' => $user_posts->max_num_pages, 'current' => $pagenum ) ); if ( $pagination ) { $retVal .= ''; } } //return table of posts return $retVal; }else{ // no posts for this users found return __("No Posts Found"); } } }//end list_user_posts class }//end if new list_user_posts();

Es wird überall kommentiert, damit Sie verstehen können, was dort vor sich geht.

Verwendung Erstellen Sie einfach eine Seite und fügen Sie diesen [user_posts] hinzu: [user_posts] Sie eine Liste der Posts des angemeldeten Benutzers.

Sie können den Post-Typ auch folgendermaßen ändern: [user_posts post_type="deal" number="5"]