web-dev-qa-db-fra.com

Comment puis-je transmettre un identifiant de publication à l'URL de la page?

J'utilise un formulaire (formulaire de gravité) sur mon site. Le formulaire est inséré dans une page (appelée form_page) du tableau de bord des utilisateurs lorsqu'ils sont connectés.

http://example.com/dashboard/form_page

J'utilise un plugin (voir ci-dessous) pour renseigner de manière dynamique le formulaire avec le contenu du message à partir duquel l'auteur est l'auteur. Cependant, je dois transmettre l'ID POST à l'URL pour que cela fonctionne.

Donc, l'URL finirait par ressembler à ceci

http://example.com/dashboard/form_page?gform_post_id=476

Cela marche.

Cependant, j'ajoute manuellement le ?gform_post_id=476 à la fin de l'URL pour tester le concept qui fonctionne et qui fonctionne. Cependant, je ne sais pas comment passer dynamiquement cet identifiant de publication à la fin de l'URL de la page pour un auteur connecté.

Il peut être utile de savoir que "l'auteur" ne sera associé qu'à un seul message. Donc (à voix haute), je pense qu’il pourrait y avoir un moyen d’obtenir le POST_ID associé à l’UTILISATEUR connecté, puis de le transmettre à l’URL de cette page particulière.

Je ne suis tout simplement pas sûr de savoir comment connecter la pièce manquante de ce casse-tête et apprécierais des conseils.

Bravo d'avance ...

Mes efforts jusqu'à présent sont les suivants

<?php foreach(get_posts(array('author' => $author_id)) as $post)?> <a href="http://example.com/dashboard/form_page?gform_post_id=<?php echo $post->ID ?>">Link</a>

Mais cela semble avoir d'abord POST ID le site. Pas l'ID des auteurs POST. Remarque: il s’agit d’un message personnalisé.

Plugin utilisé: http://wordpress.org/extend/plugins/gravity-forms-update-post/

1
Redwall

Tout d'abord. La question est un peu trompeuse. Ce que vous voulez réellement, c'est "post id (s) pour l'utilisateur actuel".

Et c'est parti:

// Global variable for current user ID
// More information: http://codex.wordpress.org/Function_Reference/get_currentuserinfo
$user_ID;

// You need to create a new WP query object
// More info: http://codex.wordpress.org/Class_Reference/WP_Query
$my_query = new WP_Query( array(
    'post_type' => 'farmers',
    'author' => $user_ID
));

// You get all the current user posts from the query object
$posts = $my_query->posts;

// You get the first post from the posts array
$first_post = $posts[0];

// You get the post ID from post object and store it to $gform_post_id variable
$gform_post_id = $first_post->ID;

Maintenant, vous pouvez faire écho que $ gform_post_id dans votre URL

echo 'http://example.com/dashboard/form_page?gform_post_id='.$gform_post_id;

À votre santé

1
Carl Rannaberg