1.- Crear un shortcode llamado ‘cuestionario’ que nos muestre un texto de encabezado que ponga ‘Cuestionario de wwordpress’
2.- Sobre ese shortcode añadir un array de 10 preguntas sobre wordpress. Ejemplo:
$preguntas=[«¿Qué es wp?»,»Desde donde se descarga WP»,»Como se llama el contenido de wp que tiene etiquetas?»]
3.- En el shortcode elegir una pregunta al azar y crear un formulario con la pregunta, un campo para responder y un botón de enviar
4.- Recoger la respuesta y ver si es correcta comparándola con un array de respuestas, ejemplo:
$respuestas=[«CMS»,»wordpress.org»,»Entrada»]
Si la respuesta es correcta indicarlo y si no lo es, también
5.- Nivel Pro: Añadir cuatro respuestas que una sea la correcta y que el usuario la elija.
<?php
/*
Plugin Name: Cuestionario WP
Description: Un pequeño cuestionario para poner a prueba nuestros conocimientos
Version: 1.0
Author: Tu Nombre
*/
add_shortcode("cuestionario","crear_cuestionario");
function crear_cuestionario(){
ob_start();
$respuestas=["CMS","wordpress.org","Entrada"];
if ( isset($_POST['fb_submit']) ) {
$respuesta=sanitize_text_field($_POST['respuesta']);
$numero=sanitize_text_field($_POST['pregunta']);
if ($respuesta==$respuestas[$numero]){
echo "Respuesta correcta ¡Muy bien!";
}else{
echo "Incorrecto, eres un looser";
}
}
$preguntas=["¿Qué es wp?","Desde donde se descarga WP","Como se llama el contenido de wp que tiene etiquetas?"];
$numero=rand(0,count($preguntas)-1);
$pregunta=$preguntas[$numero];
// Formulario HTML
?>
<h2><?=$pregunta?></h2>
<form method="post">
<input type="hidden" name="pregunta" value="<?=$numero?>"/>
<p>
<label for="fb_titulo">Respuesta:</label><br>
<input type="text" name="respuesta" id="respuesta" required style="width:100%;">
</p>
<p>
<input type="submit" name="fb_submit" value="enviar respuesta">
</p>
</form>
<?php
return ob_get_clean();
}
Versión PRO
<?php
/*
Plugin Name: Cuestionario WP
Description: Un pequeño cuestionario para poner a prueba nuestros conocimientos
Version: 1.0
Author: Tu Nombre
*/
add_shortcode("cuestionario","crear_cuestionario");
function crear_cuestionario(){
ob_start();
$cuestionario=[
["pregunta"=>"¿Qué es wordpress?",
"respuestas"=>["CMS","Web","La palabra de la prensa","No tengo ni idea"]],
["pregunta"=>"¿Desde donde se descarga WP?",
"respuestas"=>["wordpress.org","Un sitio pirata","Mis descargas.com","Tengo miedo de descargar cosas"]],
["pregunta"=>"¿Cómo se llama el contenido que tiene etiquetas?",
"respuestas"=>["Entradas","Etiquetometro","Páginas","Me llamo Ralph"]],
];
if ( isset($_POST['fb_submit']) ) {
$correcta=sanitize_text_field($_POST['correcta']);
$respuesta=sanitize_text_field($_POST['respuesta']);
if ($respuesta==$correcta){
echo "Respuesta correcta ¡Muy bien!";
}else{
echo "Incorrecto, eres un looser";
}
}
$elegida=$cuestionario[array_rand($cuestionario)];
$correcta=$elegida['respuestas'][0];
shuffle($elegida['respuestas']);
// Formulario HTML
?>
<h2><?=$elegida['pregunta']?></h2>
<form method="post">
<input type="hidden" name="correcta" value="<?=$correcta?>"/>
<p>
<label for="fb_titulo">Respuesta:</label><br>
<?php
foreach($elegida['respuestas'] as $respuesta){
?>
<label><input type="radio" name='respuesta' value='<?=$respuesta?>'>
<?=$respuesta?></label>
<?php
s }
?> </p>
<p>
<input type="submit" name="fb_submit" value="enviar respuesta">
</p>
</form>
<?php
return ob_get_clean();
}