Like @s_ha_dum said, those nightmarish “template tag” style conditionals made it hard to find those errors. Please use define( 'WP_DEBUG', true );
in your wp-config file to print those PHP errors while you are developing.
function lande_galleri_parameter($atts) {
extract( shortcode_atts( array (
'post_type' => 'embm_beer',
'order' =>'date',
'orderby' => 'title',
'posts' => -1,
'land' => '',
), $atts));
$options = array(
'post_type' => $post_type,
'order' => $order,
'orderby' => $orderby,
'posts_per_page' => $posts,
'land' => $land,
);
$out="";
$query = new WP_Query($options);
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
$out .= '<div class="findoel"><a href="' . get_permalink( get_the_ID() ) . '" title="' . esc_attr( get_the_title() ) . '">';
$out .= get_the_post_thumbnail( get_the_ID(), 'medium');
$out .= '</a></div>';
}
}
wp_reset_postdata();
return $$out;
}
add_shortcode('lande_galleri', 'lande_galleri_parameter');