Benutzerdefinierter Beitragstyp

Ich habe einen benutzerdefinierten Beitragstyp für Ereignisse erstellt, die nur von bestimmten Gruppen von Benutzern, wie einem Sekretär, im admin hinzugefügt werden können.

Dieser Sekretär kann einige neue Ereignisse hinzufügen, aber ich möchte jedem Benutzer seine eigenen hinzugefügten Ereignisse anzeigen, wenn er in seinem Dashboard angemeldet ist.

Wie würde ich das angehen?

Solutions Collecting From Web of "Benutzerdefinierter Beitragstyp"

Laut was ich verstanden habe, haben Sie einen benutzerdefinierten Beitragstyp als Ereignis- und Benutzerrolle wie Sekretärin.

Wenn sich ein Sekretär angemeldet hat, kann er nur seine eigenen Ereignisse sehen, nicht die anderen.

Wenn also das obige korrekt ist, verwenden wir den pre_get_posts Filter

function wp_list_mine_posts( $wp_query_obj ) { // Front end, do nothing if( !is_admin() ) return; global $current_user, $pagenow; get_currentuserinfo(); // http://php.net/manual/en/function.is-a.php if( !is_a( $current_user, 'WP_User') ) return; // Not the correct screen, bail out if( 'edit.php' != $pagenow ) return; // Not the event post type, bail out if( 'event' != $wp_query_obj->query['post_type'] ) return; // If the user is not administrator, filter the post listing if( ! current_user_can( 'delete_plugins' ) ) $wp_query_obj->set( 'author', $current_user->ID ); } add_action( 'pre_get_posts', 'wp_list_mine_posts' ); 

Daher kann nur der Administrator alle von allen Benutzern hinzugefügten Ereignisse sehen. Und wenn sich Secretary angemeldet hat, kann er nur seine eigenen Events sehen.