PHP全球$ post无效!试图在WordPress中获取帖子ID

时间:2013-12-06 02:59:19

标签: php wordpress function post hook

我遇到了一个问题,我试图在尝试连接插件函数时尝试获取帖子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 );

非常感谢任何帮助。

0 个答案:

没有答案