Bonjour à tous !

Le titre est assez explicite, mais rien ne vaut quand même une explication.

J'ai un custom-post-type avec une galerie d'images. J'aimerai intégrer sur cette page un module permettant aux utilisateurs enregistrés d'envoyer des images / photos, si possible en passant par le module media de wordpress ( envoi multiple possible ).
Chaque image envoyée serait stockée dans un menu d'administration, dans l'attente d'une validation par un administrateur ou modérateur. Puis, après validation, intégrée dans la galerie.

Vous allez me dire, ma demande est plutôt complète et complexe, certes, et j'ai déjà cherché plusieurs éléments de réponse. Mais rien de correspond à ce que je recherche exactement.

J'ai trouvé par exemple, le plugin " Frontend Uploader" qui rassemble beaucoup des points cités, mais fonctionne via des shortcode. Et moi, j'ai bien l'intention d'intégrer ce module où bon me semble ( comme dans un widget, ou en bas de la page... ), la version shortcode ne me plait pas du tout. Le plugin est de plus à traduire, la mise en page horrible, et il n'utilise pas le module media de wordpress.
edit : Précision aussi, comme je suis niveau débutant/intermédiaire en php, je suis complètement perdu dans son code...à bidouiller c'est horrible

J'ai aussi trouvé le tuto de grafikart, mais ce module serait accessible aux utilisateurs ayant accès au backend, alors que je souhaiterai le mien affiché en frontend pour chaque utilisateur enregistré ( sans oublier la partie de validation admin... )

Bref, ce sujet mériterai peut-être un super tuto de Grafikart rien que pour lui, mais voilà, je préferai passer d'abord par ici savoir si qq1 avait une solution :)

Je ne mets pas de code dans mon sujet, j'en ai pas trouvé l'utilité, mais si vous avez besoin de qq chose, n'hésitez pas :)

Merci d'avance !

7 réponses


Estillia
Auteur

Bon, personne n'a une idée de comment administrer ça dans un menu propre ?
Ce que j'ai fait :

  • Toute la partie envoi d'images, avec les permissions utilisateur, le bouton côté frontend pour accéder à la section upload backend( même si il doit y avoir un moyen d'envoyer le fichier sans passer par le backend ).
  • Les menus côté backend, un sous-menu accessible uniquement aux administrateurs qui accueillera un affichage de type liste ( le même que la bibliothèque médias en fait )

Ce qu'il me manque :

  • l'envoi d'image passe obligatoirement par le menu admin pour une validation, l'image n’apparaîtra dans média qu'<u>après</u> validation.
  • L'image validée est intégrée dans la galerie
  • Le contenu du menu d'admin

Merci à vous pour votre aide, qui je suis sûr m'évitera tout plugin et pourra servir à d'autres ! :)

Bonjour,

- l'envoi d'image passe obligatoirement par le menu admin pour une validation, l'image n’apparaîtra dans média qu'après validation.

Comment enregistres-tu tes images ?
Custom_post_type ? Table perso ?

- L'image validée est intégrée dans la galerie

J'ai besoin des réponses à la question précédente pour t'aiguiller.

- Le contenu du menu d'admin

add_menu_page() prend un cinquième paramètre la fonction qui gèrera l'affichage du contenu de ta page.

Bonne journée

Estillia
Auteur

Salut !

Pour le moment, j'ai un lien sur un custom post type qui renvoie vers un menu spécifique dans le panneau d'administration. J'ai pas encore réfléchi à savoir si je pouvais ouvrir le wp_media sur le frontend ( si c'est possible tant mieux )

Réalisé avec le tuto de Grafikart, j'ai donc :

if(isset($_POST'eiu_update'])){
    foreach ($_POST as $name => $value) {
            if(empty($value)){
                delete_option($name);
            }else{
                update_option($name, $value);
            }
        }

Pour le menu admin, j'ai déjà créé le menu et la fonction, j'ai juste besoin de compléter le contenu pour y afficher

  • l'image uploadée par l'utilisateur ( un peu comme la liste des articles en fait )
  • Un bouton 'valider l'image' qui supprimera donc l'image de cette liste pour l'intégrer dans la bibliotèque et/ou dans la galerie sur laquelle ça a été envoyé

Je me rends compte que c'est du boulot, que je ne suis peut-être pas parti par le bon chemin, mais il faut que je trouve la solution sans passer par ce fichu plugin qui alourdi le site, malgré qu'il soit bien fait.

Merci à toi !

ps : Je pense qu'un schéma serait le bienvenue pour montrer ce que j'ai et ce qu'il me fait, ça serait peut-être plus parlant :)

J'ai aussi tendance à préférer utiliser les fonctions natives de WordPress à des plugins.
Et puis c'est très formateur. Si tu veux progresser, tu as la bonne approche.

Ton custom post type est de quel type ?
Tu remarqueras le type "Attachment" sur le lien ci-dessus qui semble pertinent dans ton cas de figure.
Je ne l'ai jamais utilisé, il faut tester.
Une fois ton custom post type créé, tu peux créer une meta box "validate", qui ne serait rien d'autre qu'un select ou une case à cocher pour valider l'image.
Pour créer des meta box, je te conseil de t'orienter vers le plugin meta-box.
Oui je sais : pourquoi utiliser un plugin alors qu'on peut le faire en natif ?
Tout simplement parce que ce plugin est extrêmement bien foutu, t'apportera tous les outils donc tu as besoin pour créer des meta box et te permettra simplement d'ajouter une meta box à un custom post type.

En backoffice, tu pars sur un listing classique de custom_pot_type, en laissant faire WordPress.

C'est dans ce sens que serait partie ma réflexion.
Je te laisse tester.
N'hésite pas à te plonger dans des scripts déjà écris pour comprendre les mécaniques et voir comment les autres font.
Ici par exemple.

Estillia
Auteur

Je vais t'avouer que je n'ai jamais pris le temps de me plonger dans ces types.
Je me suis dit que ça pouvait être utile, mais que ça fonctionnait tout aussi bien en post.
Du coup, j'ai register_post_type pour afficher une liste de posts, la création est gérée par des custom fields ( Advanced Custom Fields ), la partie code affiche le field ( une gallerie ).

Je me suis probablement cassé la tête, mais je cherche aussi le plus simple côté backend pour la demande du client.

Bon, je vais recommencer, en me penchant sur ce que tu m'as fourni.
Si tu as d'autres idées, n'hésite pas, je suis loin d'être un champion coding ^^

Estillia
Auteur

Bon, et bien rien ne me convient. J'y ai passé plusieurs heures, je crois que je suis trop difficile. Ou encore pire, ce que j'aimerai n'est pas possible à réaliser...
Je vais devoir me rabattre sur un plugin, à contre cœur.

Estillia
Auteur

Voilà en images ce que je veux : Magnifique schéma maison

Quand l'utilisateur ( enregistré ) clic sur "envoyer une image", le wp_media s'ouvre

Seules les images de l'utilisateur sont visibles, les autres images de la bibliothèque ne sont visibles que par les administrateurs ( et éditeurs ).

L'image envoyée est stockée dans un tableau en l'attente d'une validation admin, comme ça :

Puis, lorsque l'admin clic sur "Valider", l'image est intégrée à la galerie.

Voilà, je crois que j'ai rien oublié, il me semble que c'est ce que je voulais.
Si qq1 a une idée, si Grafikart se sent inspiré d'un tuto, ça fera de moi un homme ravi; en attendant, je pars sur frontend Uploader

Merci !