Je comprends la frustration que vous pouvez ressentir si vous n'êtes pas familié avec les notions de Toolset.
J'ai pu préparer un example pour vous montrer comment le faire. Du moment que vous avez plusieurs conditions sur la content template, j'ai ajouté un container(vert) en haut de page pour montrer comment faire.
J'espère qu'on s'est mis d'accord qu'une content template et un formulaire sont toujours associés à une poste. Mais je ne vous ai pas montré comment relier toutes les ficelles. Je ne voulais pas parler de plusieurs trucs en une seule fois.
Pour ce projet, nous avons besoin de savoir si l'utilisateur connecté a un poste(etat-de-lecture) associé au livre courant. Si oui, nous devrons afficher un formulaire pour modifier l'etat de lecture. Sinon, nous devrons afficher un formulaire pour créer ce poste(etat-de-lecture). Pour cela, il nous faut utiliser une view. Une view nous permet de chercher dans la base de données avec des critères(lié au livre courant, et créé par l'utilisateur connecté).
Alors:
1. j'ai créé une view pour cela, voici les critère de selection hidden link
2. Dans la boucle de cette view, nous ajouterons le formulaire pour modifier l'état de lecture. J'ai créé un nouveau formulaire pour cet effet hidden link
3. Lorsque la view ne trouve aucun poste(c-a-d que l'utilisateur n'a jamais ajouter ce livre à sa bibliothèque), nous afficherons le forumulaire qui créera l'état de lecture. Cela ce fait à travers un paramètrage sur le block loop. Voir cette capture hidden link
J'espère que c'est bien assez clair, sinon, je vous pris de me poser vos questions et dire sur quelle étape (numéro de l'étape).
Malheureusement, je ne pense pas que vous avez interêt à utiliser AJAX sur le formulaire etat-de-lecture(pour la création de l'état de lecture). Parce que vous n'aurez pas le dropdown des états de lecture. Il faudrait que la page se recharge pour le voir.
Pour le formulaire de modificaiton, je pense que vous pouvez continuer à utiliser AJAX.
J'ai omis de dire certaine étapes que j'ai du faire pour simplifier les choses. Surtout les deux étapes suivantes:
1. J'ai modifier la configuration du custom field etat de lecture pour enlever l'attribut requis, sinon le formulaire de création ne fonctionnera pas si le field n'a pas une valeur par défaut.
2. Sur le premier formulaire etat-de-lecture qui est sencé créer un nouveau poste état de lecture, j'ai ajouté le champs de relation(Livre<>Etat de lecture). Et je lui ai passé la valeur de poste parent a travers le shortcode [wpv-post-id] qui va être induit de la page courante(page du livre). Voir cette capture d'écran hidden link
Ensuite j'ai basculer vers le mode avancé et j'ai caché le field de relation avec du CSS (en ligne). hidden link
Maintenant, si vous voulez faire parreil à l'interieur de chaque conditional block, vous n'aurez qu'a réutiliser le meme view que j'ai créé(Etat de lecture du livre par utilisateur). Ajouter un block view, et choisir le view sur le dropdown à droite. Voir cette capture hidden link
Je viens de le faire pour le premier conditional block, je vous laisse le faire pour les autres. Ensuite, vous pouvez retirer le block container que j'ai utilisé durant mes tests.