Wordpress - Shortcode output always showing at top of page
I think your problem is with the $output = include ....
statement. include()
returns true or false based whether it was successful - not the content of the file being included. Use output buffering to get the content.
function service_shortcode_index() {
global $content;
ob_start();
include ( TEMPLATEPATH . '/service.php' );
$output = ob_get_clean();
return $output;
}
add_shortcode('service_mid', 'service_shortcode_index');