How to show user's content on a user's profile page
Views does this out of the box.
- Create a view of whatever content it is that you want to expose and make it a block.
- Then, in the advanced (right) side add a Contextual Filter of the type "Content: Author uid" . The settings are a little complicated.
- The filter will tell you that you must add a default value:
"This display does not have a source for contextual filters, so no contextual filter value will be available unless you select 'Provide default'."
- So below where it says: "When the filter value is NOT available" click the radio button that says "provide default value" and from the drop down list select User ID from URL.
- Under "When the filter value IS available or a default is provided" select: "Specify validation criteria"
- the Validator will be: "User"
- check the radio button for: "Allow both numeric UIDs and string usernames"
- Under: "Action to take if filter value does not validate" select: "Hide view".
SAVE YOUR VIEW, YOU'RE DONE WITH THE VIEW
Go to Blocks and configure the block so that it shows in the region you want it to show up in and set it to Show block on specific pages -> Only the listed pages:
user
user/*
users/*
NOW YOU'RE DONE, GO ENJOY YOUR RESULTS.