Muhammad Muhaimin
Forum Replies Created
-
Forum: Plugins
In reply to: [LearnPress - Fill in Blank Question] This add-on needs to be updatedHi Zdenda, about the [fib] shortcode, it is nowhere in the plugin’s documentation.
I think you see it directly in the plugin’s source code.
And I found the attribute for correct answer there!if( 'fib' != $shortcode ) continue; $atts = shortcode_parse_atts( $matches[3][$k] ); $atts = shortcode_atts( array( 'fill' => '' ), $atts );
So we should type in the editor like this:
The quick [fib fill="brown"] fox jumps over the lazy dog.
But certainly we need an easy option to insert the shortcode.
Forum: Plugins
In reply to: [LearnPress - Fill in Blank Question] This add-on needs to be updatedIf LearnPress haven’t had the results section, then another method is to send the answers to the Instructor’s email.
This is my trick:
Because the editor is free to insert anything, I insert Jetpack contact form into the answer section.
The form will have to be submitted by clicking its own button. Then the submitted texts will be sent to the Instructor’s email.It’s so cool ??
Forum: Plugins
In reply to: [LearnPress - Fill in Blank Question] This add-on needs to be updatedThanks for your info, it’s a good start.
But I think the better approach for this question type is the answers should be able to read by the Instructor.
———-
This is based on my experience when using Quiz Master Next (now Quiz And Survey Master).
For the “Choice” types, the answers will be processed automatically to get points.
But when users give answers to the “Open Answer” types, they won’t get points. All the quiz results are able to read by Admin.Now the plugin has “Fill In The Blank” type. I haven’t tried it.
I don’t know whether this is a good idea or not.
I tried to modify/inc/cart/class.lpr-cart.php
based on this solution:I converted all the
$_SESSION
assignments into object hierarchy.<?php /** * Class LPR_Cart * * Simple Cart object for now. Maybe need to expand later */ class LPR_Cart{ private static $instance = false; function __construct(){ if( self::$instance ) return; if( !session_id() ) session_start(); if( empty( $_SESSION->learn_press_cart ) ){ $_SESSION->learn_press_cart = array( 'cart_id' => $this->generate_cart_id(), 'products' => array() ); } } function get_cart_id(){ return $_SESSION->learn_press_cart->cart_id; } function get_products(){ return $_SESSION->learn_press_cart->products; } function get_sub_total(){ $sub_total = 0; $products = $this->get_products(); if( $products ) foreach( $products as $product ){ $sub_total += learn_press_is_free_course( $product['id'] ) ? 0 : floatval( learn_press_get_course_price( $product['id'] ) ); } learn_press_format_price( $sub_total ); return apply_filters( 'learn_press_get_cart_subtotal', $sub_total, $this->get_cart_id() ); } function get_total(){ $sub_total = $this->get_sub_total(); $total = $sub_total; return apply_filters( 'learn_press_get_cart_total', $total, $this->get_cart_id() ); } function generate_cart_id(){ return md5( time() ); } function add_to_cart( $course_id ){ $course = get_post( $course_id ); $price = learn_press_get_course_price( $course_id ); $quantity = 1; $_SESSION->learn_press_cart->products->$course_id = array( 'id' => $course_id, 'quantity' => $quantity, 'price' => $price ); } function empty_cart(){ unset( $_SESSION->learn_press_cart->products ); return $this; } function destroy(){ unset( $_SESSION->learn_press_cart ); } static function instance( $prop = false, $args = false ){ if( !self::$instance ){ self::$instance = new self(); } $ins = self::$instance; if( $prop ) { $prop = 'get_' . $prop; } return $prop && is_callable( array( $ins, $prop ) ) ? call_user_func_array( array( $ins, $prop ), (array)$args ) : $ins; } } if( !is_admin() ) { $GLOBALS['learn_press_cart'] = LPR_Cart::instance(); } function learn_press_get_cart( $prop = null ){ return LPR_Cart::instance( $prop ); } function learn_press_get_cart_description(){ $products = learn_press_get_cart( 'products'); $description = ''; if( $products ){ foreach( $products as $prop ){ $description .= get_the_title( $prop['id'] ); } } return apply_filters( 'learn_press_cart_description', $description ); } function learn_press_get_cart_course_url(){ $products = learn_press_get_cart( 'products'); $return = ''; if( $products ){ foreach( $products as $prop ){ $return = get_permalink( $prop['id'] ); break; } } return apply_filters( 'learn_press_cart_course_url', $return ); } function learn_press_get_cart_total(){ return learn_press_get_cart( 'total'); } //learn_press_get_cart_description();
But I got this warning when I load a course page:
Warning: Attempt to assign property of non-object in /home3/widyagm/public_html/elektro/wp-content/plugins/learnpress/inc/cart/class.lpr-cart.php on line 15
The page was successfully loaded, then I tried take the course again, and I got this message in the page:
Congratulation ! You have finished this course
But I still haven’t enrolled to the course.
It’s not that easy ??Forum: Plugins
In reply to: [LearnPress - WordPress LMS Plugin] Still untranslatable stringsI’ve updated to version 0.9.18.
Thanks for the fix ^_^
It seems that the “Profile” page is automatically created.
Forum: Plugins
In reply to: [LearnPress - WordPress LMS Plugin] Still untranslatable stringsI’ve posted it here:
https://www.ads-software.com/support/topic/still-untranslatable-strings#post-7445209
Forum: Plugins
In reply to: [LearnPress - WordPress LMS Plugin] Still untranslatable stringsI’ve updated to version 0.9.17, but those 3 strings are still untranslatable.
Forum: Plugins
In reply to: [LearnPress - WordPress LMS Plugin] Still untranslatable stringsPlease add those 3 strings to the translation in the next version. So I don’t have to modify them after every update.
With version 0.9.2, I can import now.
But there are some exceptions:- The Import botton only shows to Instructors. It won’t show to Administrators. In fact, Administrators can create courses too. Moreover, they can change the course author.
- The Import botton won’t show when the course list is empty.
Forum: Plugins
In reply to: [LearnPress - WordPress LMS Plugin] Still untranslatable stringsI’ve updated to version 0.9.13.3, only these strings remaining:
inc/admin/meta-boxes/fields/class.course-lesson-quiz.php
line 120:placeholder="Enter the section name and hit enter"
line 172:placeholder="Enter the section name and hit enter"
line 215:placeholder="Type section's name and hit enter"
Forum: Themes and Templates
In reply to: [Zerif Lite] Adding a FaviconWith WordPress 4.3, now we can set the site icon from Customizer.
Forum: Reviews
In reply to: [Zerif Lite] It is awesome, but…Can I submit my translation?
it’s Indonesian.Forum: Plugins
In reply to: [Yoast SEO] Google search results only showing path and no longer urlI don’t know.
But the Google’s documentation page shows the example screenshot, only breadcrumb path in it, no URL.
Maybe Yoast want to comply with Google’s standard.Forum: Plugins
In reply to: [Yoast SEO] Google search results only showing path and no longer urlIt is called Breadcrumbs.
and that’s normal, because it is one of recommended tools to Enhance Presentation in Search Results.