Is there any plugin I can use for this task?
But there is a tool you can use.
A colleague of mine was facing an identical situation. Multiple authors on one site wanted to cross post from the central, multi-author blog onto their own blogs. The solution was for them to use an external blog editing tool.
If you're on Windows, there's a tool called Windows Live Writer that is part of the free Windows Live Essentials package. You can set this tool up to publish to multiple sites - a central multi-author site or an individual site, for example.
You then specify in the UI which site you want to publish content to, and it pushes things out for you.
- Write post.
- Publish to central site.
- Change site location from a drop-down menu and publish to author site.
Update - Alternative
To integrate cross-posting functionality into a site, you'll need to do several things.
- Allow authors to specify the URL of their personal blog somewhere in their profile. You can do this with user meta on the Profile page.
- Add a custom meta box to the edit post screen that allows users to push their content out to a remote site. Basically, a small box in the sidebar with a "push to your personal site" button in it.
- Tie a function to this button that uses WordPress' XML-RPC system to package the post and publish it on the remote site.
Each one of these steps can be very complicated and warrants individual questions/answers in their own right. But the answer to your original question is still no, there is no existing plugin that will do this for you. However, you can code the functionality yourself.
One important thing to remember, though, is that pushing a post out is a one-time, one-way action. Since the separate sites aren't deeply integrated, site 1 has no way to know if site 2 already has a post (so it can't overwrite/update existing content). This means if you push the post out to site 2, then go back and edit it on site 1, you'll need to go separately to site 2 to edit the post as well.
This is why I recommended using an outside tool. It keeps track of what posts have been published to each site and lets you update them accordingly. Essentially, you're asking to build your own custom XML-RPC client into WordPress to achieve the same functionality. Possible, but why reinvent the wheel if you don't have to?