Hi, I am using this snippet to keep several cpt’s on one page for the Add Listing page, and a separate Add Events page:
/** Add Listing w all CPTs minus events */
add_action('geodir_before_detail_fields', 'geodir_add_listing_before_detail_fields', 0);
function geodir_add_listing_before_detail_fields(){
global $post;
$current_posttype = geodir_get_current_posttype();
$geodir_allow_posttype = get_option('geodir_allow_posttype_frontend');
$post_types = geodir_get_posttypes('object');
$addlisting_links = '';
if ($current_posttype!="gd_events") {
//test if the key is in the array
// if (in_array("gd_event", $geodir_allow_posttype)) {
// echo "trovato evento";
//
//$filtraevento = array( 1 );
//
//
// }
//remove the position 1 (gd events from the new array)
$filtraevento = array( 7 );
$filtrato = array_diff_key( $geodir_allow_posttype, array_flip( $filtraevento ) );
foreach($post_types as $key => $postobj){
if(is_array($filtrato) && in_array($key, $filtrato) && count($filtrato) > 1){
$name = $postobj->labels->singular_name;
$checked = '';
if($current_posttype == $key)
$checked = 'checked="checked"';
$add_link = geodir_get_addlisting_link( $key );
$addlisting_links .= '<div style="display:block;line-height:30px; margin-right:14px; float:left;">';
$addlisting_links .= '<input type="radio" '.$checked.' value="'.$add_link.'" title="'.ucfirst($name).'" name="geodir_select_add_listing[]" onchange="javascript:window.location=this.value;" >'.ucfirst($name);
$addlisting_links .= '</div>';
}
}
if($addlisting_links != '') {
if($current_posttype != "gd_event") {
?>
<h5><?php _e('Select Listing Type', GEODIRECTORY_TEXTDOMAIN); ?></h5>
<div class="geodir_form_row clearfix">
<div id="geodir_showposttypes" class="geodir_showposttypes">
<?php echo $addlisting_links;?>
</div>
</div> <?php
}
}
}
}
I have added a new cpt, Announcements, that I would like to show on the Add Event page. As of now, it is showing on the Add Listing page. Anyone interested in tweaking it?
Thanks!