web-dev-qa-db-fra.com

Comment personnaliser les publications de l'utilisateur de l'utilisateur connecté

Nous construisons un site sur lequel 10 à 15 photographes publieront du contenu. Il y aura un blog commun + chaque administrateur a son propre portefeuille à gérer. Les "galeries de portfolio" et les "pages de portfolio" sont deux types personnalisés. Elles sont classées à l'aide de "Artiste", une taxonomie personnalisée.

Nous aimerions que tous les administrateurs:

  1. pour pouvoir voir tous les articles du blog
  2. être capable de poster dans le blog
  3. pouvoir ajouter de nouvelles "galeries de portfolio" et "pages de portfolio" et les faire étiqueter automatiquement avec la taxonomie "artiste" avec la même valeur que leur nom (c'est-à-dire que John Smith ne pourra créer que des pages de portfolio et des galeries étiquetées automatiquement avec * Artiste = "John Smith" *)
  4. être capable de ne voir que les pages de portfolio et les galeries qui leur appartiennent (John Smith ne verra que les pages de portfolio et les galeries marquées avec * Artist = "John Smith" *)

Enfin, nous aimerions également avoir deux "super administrateurs" qui auront accès à tous les articles du site.

Des idées sur la façon de construire quelque chose comme ça? Est-ce même faisable?


EDIT Suivant la suggestion de @ בניית אתרים, j'ai lu un peu plus sur les rôles et les capacités et je me suis rendu compte que Wordpress prenait déjà la possibilité de limiter les utilisateurs de l'édition des messages d'autres personnes. Tout ce que je devais faire était de changer tous les utilisateurs pour qu'ils soient auteurs au lieu de éditeurs .

En résumé, les numéros 1, 2 et 4 de la liste ci-dessus sont résolus. J'ai toujours besoin que le n ° 3 fonctionne avec save_post.

1
Francesco Gallarotti

Bref: oui tu peux le faire.

pour pouvoir voir tous les articles du blog

le rôle d'éditeur par défaut peut voir toutes les publications

être capable de poster dans le blog

encore une fois, le rôle d’éditeur par défaut peut voir toutes les publications

pouvoir ajouter de nouvelles "galeries de portfolio" et "pages de portfolio" et les faire étiqueter automatiquement avec> la taxonomie "artiste" avec la même valeur que leur nom (c'est-à-dire John Smith).

Pour cela, vous pouvez utiliser le hook save_post et y ajouter automatiquement un nom d'utilisateur comme taxonomie.

être capable de ne voir que les pages de portfolio et les galeries qui leur appartiennent (par exemple, John Smith ne verra que> les pages de portfolio et les galeries marquées avec Artist = "John Smith")

lorsque vous enregistrez des types de publication, vous pouvez définir des fonctionnalités pour ce type de publication. Vous devez également définir edit_others_posts sur false. Assurez-vous également que votre type de publication prend en charge l'auteur.

Enfin, nous aimerions également avoir deux "super administrateurs" qui auront accès à tous les articles du site.

le rôle admin par défaut est votre ami dans ce cas. essentiellement, la plupart de vos problèmes concernent les rôles et les capacités

j'espère que cela t'aides

3
Bainternet

Si je construisais ce site, voici ce que je ferai pour les "Pages de portefeuille et galeries qui leur appartiennent":

1.) Je vais créer un nouveau modèle de page, disons template-portfolio.php dans votre répertoire de thèmes, qui ressemble à ceci:

<?php
/*
Template Name: Portfolio
*/
if(is_user_logged_in() && current_user_can('manage_options'))  //ensure that it is an admin, as per requirements
{
   global $current_user;
   get_currentuserinfo(); //information shall be stored in $current_user
   // echo 'User ID: ' . $current_user->ID . "\n";

   query_posts(array('Artists' => $current_user->display_name));

    //do the loop here.

}
else
{
  wp_redirect(get_bloginfo('url')); //go to home page if not logged in or if not admin
}
?>

2.) Je créerais une page dans wordpress et assignerais Portfolio comme modèle de page

3.) Je voudrais afficher la page en utilisant l'aperçu de la page, et si cela fonctionne, je me tape dans le dos;)

Vous pouvez faire une variante du flux ici pour vos autres préoccupations.

2
Ardee Aram