我遇到了一个问题,我试图在尝试连接插件函数时尝试获取帖子ID(函数在我的functions.php文件中)
由于某种原因,global $post
无效!
我的目标是存储当前帖子,将ID发布到变量中,在测验完成后,它将更新自定义字段。
以下是我的代码。我回复了$ post-> ID;只是为了测试,但我没有得到任何回报。
add_action('ssquiz_finished', 'after_quiz_done', 10, 4);
function after_quiz_done( $quiz_id, $user_id, $questions_right, $total_questions )
{
global $post;
echo $post->ID;
}
这是实际的' ssquiz_finished'来自SS QUIZ插件的函数/钩子:
$output = ob_get_contents();
ob_end_clean();
$finish_screen .= $output;
$temp = new stdClass();
$temp->user_name = $info->user->name;
$temp->user_email = $info->user->email;
$temp->time_spent = time() - $info->started;
$wpdb->insert("{$wpdb->base_prefix}ssquiz_history",
array(
'user_id' => $info->user->id,
'quiz_id' => $info->quiz->id,
'meta' => serialize( $temp ),
'answered'=> $info->questions_counter,
'correct' => $info->questions_right,
'total' => $info->total_questions
),
array( '%d', '%d', '%s', '%d', '%d', '%d' ) );
if( $info->questions_counter == $info->total_questions ) {
// API
$percent = intval(strval($info->questions_right / $info->questions_counter * 100 ) ); //$info->questions_counter !=1
do_action( 'ssquiz_finished', $info->quiz->id, $info->user->id, $info->questions_right, $info->total_questions );
非常感谢任何帮助。