-> Because BuddyPress enqueues jQuery and twentyten doesnt
2/ The snippet i gave you was a quick example to show you how you can paste content into a field. And i took an example using single.php and the comment field. But you have to adapt this to your need. If you need to write a new post with the content of other posts from the front end, then you first need to have a form that makes it possible to post from the front end. For instance tdo-mini-forms.
3/ If tdo mini forms is used, then when you create a form with it, you will have a page with a form and the fields you configured in tdo backend. Let's imagine one of the field is the content field of the new post. It will be a textarea, check the name and id of it in the page tdo mini form created. If no id were put by tdo you can hack the form adding one from the tdo backend. Let's say the id of this field is "tdo-new-post-content".
So we have a page containing a form that enables you to add new post from front end. Let's say this page has this title : "Example"
4/adding js scripts when the page "Example" is loaded : in functions.php of your active theme.
4.a making sure jquery is enqueued :
4.b adding the "copy paste" function
var shortcode = jQuery(this).find(":first").val();
As you can see i replaced #comment by the id i expect in tdo mini forms (tdo-new-post-conten)
5/ adding the list of post contents. As tdo mini forms uses a shortcode to add its form to the page example, maybe the best way is to use a specific template for the page. in your theme you can copy the content of "page.php" into a new file "post-from-content.php" making sure the header of it looks like this :
Template Name: post from content
Go back to WordPress BackEnd and edit the Example page choosing the template 'post from content'.
Now you can edit the page template post-from-content.php by adding this code just after the div with id content and role main (if you're using twentyten) :
<?php if ( have_posts() ) : ?>
<?php while (have_posts()) : the_post(); ?>
<input type="hidden" id="copy-paste-shortcode" value="[deepbevel_need postid='<?php echo $post->ID;?>']">
<!-- /html code -->
<?php endwhile; ?>
<?php else : ?>
<!-- html code if nothing found -->
<?php endif; ?>
You can replace [cat_ID] with the id of the category of the posts you want to copy. When you now open the page example, you have the list of posts over the form (add some style to make them display horizontally).
6/Handling 'deepbevel_need' shortcode
If you begin use it, you will be able to paste shortcodes into the textarea. But if you submit a new post and display it then you wont have the content of the posts, so you need to tell WordPress what to do when it finds your shortcode. To do that simply go back to functions.php and add this code :
extract(shortcode_atts(array('postid' => '0'), $atts));
if ( have_posts() ) : while ( have_posts() ) : the_post();
<?php endwhile; else:?>
<b>no post found</b>
Now you should see the post contents you copied in your new post. Hope it helped, have fun ;)