需要在functions.php中获取帖子ID

时间:2013-12-06 13:10:46

标签: php wordpress plugins wordpress-plugin hook

我现在一直在处理这个问题。我至少需要一些帮助或推动正确的方向,因为我很难过。

问题:我需要在functions.php

中获取帖子ID

我正在使用一个名为 SS Quiz 的插件。这个插件是一个测验制作插件,你在后端进行测验并使用WP WYSIWYG编辑器中的短代码显示它。很简单,就像很多插件一样。

SS Quiz 有一个钩子,一旦提交了测验,它就会执行一段代码。以下是确切的代码和文档:

add_action('ssquiz_finished', 'after_quiz_done', 10, 4);

function after_quiz_done( $quiz_id, $user_id, $questions_right, $total_questions )
{
    // do stuff here
}
当用户完成SSQuiz时,会触发
钩子

我要做的是获取测验所在的当前帖子/页面的帖子ID,并执行一段代码只返回帖子ID。我已尝试使用global $post在函数内部设置postdata(setup_postdata())。没有任何效果。我可以返回当前登录用户之类的内容,但不是帖子ID。

任何人都可以在他们的结尾测试这个,看看他们如何获得帖子ID?无论是在实时服务器上还是本地服务器上。我现在只需要朝着正确的方向努力。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

也许你需要编辑插件。

在调用操作的插件中:

do_action( 'ssquiz_finished', $info->quiz->id, $info->user->id, $info->questions_right, $info->total_questions );

将帖子ID添加到参数中。它使用的是一个$ info对象,它在ssquiz_start()中设置,当short_code运行时,你将能够使用$ global获取帖子ID并将其添加到$ info对象。