jquery.readmore plugin
The code is good, only a few ignorable pointers : 


lowerCamelCase is the standard for JavaScript, so


get_link -> getLink 
get_first_p -> getFirstParagraph
readmore -> readMore ?

The code could be more DRY for the retrieval of settings.
I would counter-propose something like this:



    var defaultSettings = {
        sentences_number: 3,
        readMoreText: 'Read more.',
        readMoreToggle_text: 'Read less.',
        readMoreWrapClass: 'readmore_link_wrap',
        readMoreClass: 'readmore_link',
        bidirectional: false
    };

   var settings = $.extend({}, defaultSettings, options);

   return this.each(function(index) {

        var text = $(this),
        var elementSettings = {};

        //Optionally replace settings with per text data attributes
        for( key in defaultSettings )
          elementSettings[key] = text.data( key ) || settings[key];

        //Then you could either
        link = get_link( elementSettings ),
        //Or you could
        link = get_link(elementSettings.readmore_wrap_class, 
                        elementSettings.readmore_class, 
                        elementSettings.readmore_text);




($('.readmore').length !== 0) &amp;&amp; $('.readmore').readmore(); this is a bit too Golfic ( reminds me of code golf ) and has a repeated constant  which should be extracted and part of your readMore object in my mind.
Finally, your commenting is very un-even, one part has a lot, the rest has close to nothing. I'd say that your functions deserve each a /* One liner */.