I'd like to create a field that allows the admin to select from other existing post types. Specifically, I want to create an options box to choose which events display on the homepage.

For now, I've just put a "on the homepage" checkbox on each event, but this does not help with ordering or reviewing the list of "featured" events.

The ideal UX is a meta box added to only the homepage admin screen, that allows the user to add/remove existing events a list and reorder them before republishing the homepage. It would have an "add event" button, which when clicked, opens a post selector similar to the popin you get when you link text in the WYSIWYG. "Insert/edit link", "... link to existing content".

I suppose I could just build my own popin, but I'd be happy to find out I could reuse this "post selection popin" that the link button uses.

  • What is a popin?
    – fuxia
    Dec 7, 2012 at 3:06
  • I'm referring to a modal popup box, which is simply a floating element in the page. As opposed to an actual popup, which is a new window, typically opened with window.open().
    – Matt
    Dec 7, 2012 at 14:14

1 Answer 1


The plugin Custom Content Type Manager can do this.

A Custom Field of the Relation type is needed. When creating it, enable Is Repeatable, select the desired Output Filter and the Association.
enter image description here
:...click to More Info

Make sure to enable Standardize Custom Fields for Pages in the Content Types tab of the plugin.

With all set, a Meta Box with the relationship/repeatable/sortable Custom Field will appear in all pages (looks like this will need a custom hack to only display it in $post->ID == homepage_ID).
This CF opens a thickbox where all post types can be searched/selected as a Relation (maybe another hack).

The plugin Advanced Custom Fields can do it all without hacks, but the Repeater is a premium add-on.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.