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(); }