Once again I am plagued by this. Embedding an image from the media library shows in the editor, but when you view the node on the front end you get this:

[[{"fid":"851","view_mode":"default","fields":{"format":"default","field_file_image_alt_text[und][0][value]":"Reality Check","field_file_image_title_text[und][0][value]":""},"type":"media","attributes":{"height":"333","width":"1502","style":"font-size: 13.008px;","class":"media-element file-default"}}]]

Normally you would confirm a couple things in drupal 7.5 -

  • Check the text format configuration to make sure convert media tags to markup is set. In my case its on every filter and it is in the top position. no matter which position it is in, still nothing works.
  • Check to see if a custom template is used and make sure it's using render() and not just a plain echo. In my case, it is a custom template and it is using render($node->body['und'][0]['value'])
  • Check to see if any wrapping tags may be causing a conflict. In my case there is no wrapping tag. It's just an inline image from the media library.

I'm using a custom tinyMCE install with the wysiwyg module because for reasons unknown the media library module broke everything much worse. Somehow I don't think this has anything to do with tinyMCE though.

Anyone have any further ideas?

1 Answer 1


For those of us just constantly plagued by this failure in programming, here's a link with the solution that worked for me. Upvote if you find it helpful: Media with WYSIWYG not converting media tags to markup

Essentially, don't trust print render() - I had to use this in my custom template file:

<?php print render(field_view_field('node', $node, 'body', array('label'=>'hidden'))) ;?>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.