I recently came across a situation where I needed to display the contents of a page in a WordPress sidebar. Essentially, my client needed an easy way to edit a sidebar that appeared on multiple pages. Editing a Text widget wasn’t an option: they needed the flexibility of editing a page.
It took a few tries/revisions to find the best way to do this, so I thought I’d share my solution. All I did was create a page with a specific slug (“sidebarpage”) and echo its content. I used it in a sidebar widget, but you could use this anywhere in your WordPress Theme if you’d like to have an additional editable area.
Be sure that you’re creating a seperate WP_Query object ($sidebarpage in this example) — otherwise you’ll modify the query on the page itself, and your sidebar content will show up in the main body of your posts/pages as well!
The down-side of having this content stored in a page is that the page will appear in page listings, so be sure to exclude it if these are used in your theme. #