Shortcode won’t take into account custom post ID put in parameter

Shortcode attributes should be all lowercase

A Note on Security

There are 2 major security issues in your shortcode:

  1. extract is dangerous as it can overwrite variables, it would be much safer to use $ID = ! empty( $atts['ID'] ) ? $atts['ID'] : null; instead. You might see this in a lot of examples but this is because copy pasting is popular and people are unaware, not because it’s ok. Never use extract() under any circumstances if you value security and safety.
  2. There is no escaping on your variables, when you output values you should escape dynamic values, e.g. <a href="'.$linkURL.'"> should be <a href="'.esc_url( $linkURL ).'">. This guarantees that only a URL can go in the href part, even if something malicious is inserted that tries to break out.