Last active
September 19, 2019 23:53
-
-
Save stnc/52e6cbec63b9d4a667c5554e58c1ee9a to your computer and use it in GitHub Desktop.
wordpress Quiz Cat plugin rest api (https://wordpress.org/plugins/quiz-cat/)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** QUIZ ID for post ** */ | |
# Registering the routes in here | |
add_action('rest_api_init', 'register_quizcat_id'); | |
function register_quizcat_id() | |
{ | |
register_rest_route('wp/v2', '/quizcat/id/(?P<id>[\d]+)', | |
array( | |
'methods' => 'GET', | |
'callback' => 'stnc_quiz_id', | |
) | |
); | |
} | |
function stnc_quiz_id(WP_REST_Request $request) | |
{ | |
extract($request->get_params()); | |
return [stnc_quiz_func($id)]; | |
} | |
/** quizcat rest ID end ** */ | |
function stnc_quiz_func($post_id) | |
{ | |
$all_meta = get_post_meta($post_id, '', true); | |
$quiz_meta = empty($all_meta['quiz_cat_meta']) ? array() : unserialize($all_meta['quiz_cat_meta'][0]); | |
$quiz_meta['title'] = get_the_title($post_id); | |
$questions = empty($all_meta['quiz_cat_questions']) ? array() : unserialize($all_meta['quiz_cat_questions'][0]); | |
$quiz_results = empty($all_meta['quiz_cat_results']) ? array() : unserialize($all_meta['quiz_cat_results'][0]); | |
$quiz_settings = empty($all_meta['quiz_cat_settings']) ? array() : unserialize($all_meta['quiz_cat_settings'][0]); | |
$data= [ | |
'title' => $quiz_meta['title'], | |
'questions' => $questions, | |
'quiz_results' => $quiz_results, | |
'quiz_settings' => $quiz_settings, | |
]; | |
return stnc_quiz_func_manipulation($data); | |
} | |
function stnc_quiz_func_manipulation($datas) | |
{ | |
foreach ($datas['questions'] as $key => $data) { | |
foreach ($data['answers'] as $keyAnswer => $answer) { | |
$datas['questions'][$key]['correctoption'] = 0; | |
$datas['questions'][$key]['answers'][$keyAnswer]['id'] = $keyAnswer; | |
} | |
shuffle( $datas['questions'][$key]['answers']); | |
} | |
return $datas; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
add_action('rest_api_init', 'register_quizcat_id');
function register_quizcat_id()
{
register_rest_route('wp/v2', '/quizcat/id/(?P[\d]+)',
array(
'methods' => 'GET',
'callback' => 'stnc_quiz_id',
)
);
}
function stnc_quiz_id(WP_REST_Request $request)
{
extract($request->get_params());
return [stnc_quiz_func($id)];
}
/** quizcat rest ID end ** */
function stnc_quiz_func($post_id)
{
$all_meta = get_post_meta($post_id, '', true);
$quiz_meta = empty($all_meta['quiz_cat_meta']) ? array() : unserialize($all_meta['quiz_cat_meta'][0]);
$quiz_meta['title'] = get_the_title($post_id);
$questions = empty($all_meta['quiz_cat_questions']) ? array() : unserialize($all_meta['quiz_cat_questions'][0]);
$quiz_results = empty($all_meta['quiz_cat_results']) ? array() : unserialize($all_meta['quiz_cat_results'][0]);
$quiz_settings = empty($all_meta['quiz_cat_settings']) ? array() : unserialize($all_meta['quiz_cat_settings'][0]);
}
// echo '