drupal_render() to display a node.
With the default
node.tpl.php, the title is always displayed unless the node is rendered as a "page". The "page" variable is determined in an obscure way in
template_preprocess_node(), and is typically false with embedded nodes. So the title will be rendered.
<?php print render($title_prefix); ?>
<?php if (!$page): ?>
<h2<?php print $title_attributes; ?>><a href="<?php print $node_url; ?>"><?php print $title; ?></a></h2>
<?php endif; ?>
<?php print render($title_suffix); ?>
I see two ways to prevent this:
- A custom node template for the view mode that is used by node_embed, in your theme.
- Use a display suite layout for the given view mode. With display suite, the usual node template is ignored, and the title is just one among other visual elements to be positioned in the display. I prefer this solution, because I like display suite :)
node_embed ships with a dedicated view mode 'node_embed', which is used by default for embedded nodes. So this is the one you need to configure or target with a template.
BTW, at the time of this writing, the module page of Node embed says it is no longer supported. There is another module, Entity embed, which seems not to have this problem.