 <p>So I came up with a different solution. Instead of trying to save an array, I just saved the post ID which would allow me access to the title of the post as well as the permalink.</p> <p>This is my modified code</p> <pre><code>&lt;select name="pastor_select"&gt; &lt;?php $args = array( 'post_type' =&gt; 'employee', 'position' =&gt; 'pastor' ); $pastorList = new WP_Query($args); while ($pastorList-&gt;have_posts()) : $pastorList-&gt;the_post(); $employeeID = get_the_ID(); // THIS FIXED THE PROBLEM $is_selected = ($employeeID == $selected) ? 'selected="selected"' : ''; echo '&lt;option value="'.$employeeID.'" '.$is_selected.'&gt;'.get_the_title().'&lt;/option&gt;'; endwhile; wp_reset_postdata(); ?&gt; &lt;/select&gt; </code></pre> <p>And this is how I am calling it on the front end</p> <pre><code>&lt;?php $id = $post_meta_data['pastor_select'][0]; echo '&lt;a href="'.get_permalink($id).'"&gt;'; echo get_the_title($id); echo '&lt;/a&gt;'; ?&gt; </code></pre>