Modify function Shortcode_atts

You are misusing shortcode_atts().

  1. You need to pass the shortcode an array of defaults in the first
    argument, which you have done.
  2. Then you need to pass the user supplied arguments in the second
    argument, which you haven’t done. Your shortcode callback uses
    $params yet for some reason you are passing $atts, which is not
    defined in your function.

Additionally, you are using extract() with will create variables out of the supplied array. However, your code is not written to use those extracted variables. It still uses $params. extract() is, in my opinion, a confusing way to write code. Stick with $params.

Proof of concept:

function my_sc_cb($params="") {
  $params = shortcode_atts( 
    array(
      'post_type'     => 'post',
      'order'         => 'asc',
      'orderby'       => 'meta_value',
      'posts_per_page'=> 5,
      'meta_key'      => 'fl_date_picker'
    ),
    $params
  );
  var_dump($params); // debugging
}
add_shortcode('msccb','my_sc_cb');
do_shortcode('[msccb post_type="page"]');