我在我的网站上使用了一个表单(重力表单)。当用户登录时,表单将插入到用户仪表板上的页面(称为form\\u页面)中
http://example.com/dashboard/form_page
我正在使用一个插件(见下文)来动态填充表单,其中包含用户撰写的帖子的内容。但是,我需要将POST ID传递到URL,以便它工作。
所以URL最终会变成这样
http://example.com/dashboard/form_page?gform_post_id=476
这是可行的。
但是,我正在手动附加?gform_post_id=476
到URL的末尾来测试这个概念实际上是可行的。但是,我不知道如何为登录的作者动态地将此帖子ID传递到页面URL的末尾。
知道“作者”只有一篇文章与他们相关可能会有所帮助。所以(大声说出来)我想可能有一种方法可以获取与登录用户关联的POST_ID,然后将其传递到该特定页面的URL。
我只是不知道如何连接这个拼图中缺失的部分,希望能得到一些指导。
提前欢呼。。。
我目前的努力如下
<?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>
但这似乎是该网站的第一个帖子ID。不是作者帖子的ID。注意:这是一个自定义帖子。
使用的插件:http://wordpress.org/extend/plugins/gravity-forms-update-post/
最合适的回答,由SO网友:Carl Rannaberg 整理而成
首先这个问题有点误导人。您真正想要的是“当前用户的post id”。
我们开始吧:
// 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;
现在,您可以在URL中回显$gform\\u post\\u id
echo \'http://example.com/dashboard/form_page?gform_post_id=\'.$gform_post_id;
干杯