Reorder tabs in listing detail page
This topic contains 3 replies, has 3 voices, and was last updated by Alex Rollin 6 years, 7 months ago.
We have moved to a support ticketing system and our forums are now closed.
Open Support Ticket-
AuthorPosts
-
August 26, 2018 at 3:32 pm #444093
Hi,
I am reading this post:
https://wpgeodirectory.com/re-order-tabs-in-a-listing-detail-page/
I would be very grateful if you could let me know how to use the snippet just to move only the “profile” tab after the map tab and before the review tab.
I look forward to your reply.
Thank you very much for your help.
Best regards.
August 26, 2018 at 10:37 pm #444116Use the code as is, but with this little change:
Swap all ‘reviews’ with ‘post_map’.
Let us know how you went.
ThanksAugust 27, 2018 at 8:48 am #444148Hi Guust,
Thank you very much for your response.
Finally I managed to get what I wanted with this code:
// this is the snippet that adds the filter, calling the function below.
add_filter(‘geodir_detail_page_tab_list_extend’, ‘geodir_detail_page_tab_list_extend’) ;// this is the function that does the re-ordering that we call with the add filter snippet above.
function geodir_detail_page_tab_list_extend($tab_array)
{// here you can modify the array and re-arrange tabs as you wish, you can create a completely new array too.
// this is the review tab, by default is the 7th, but here we moved it to position 1.
if(isset($tab_array[‘post_info’])){
$new_tab_array[‘post_info’] = $tab_array[‘post_info’];// set in new array
// IMPORTANT the following code tells GeoDirectory that this is the new default active tab
$new_tab_array[‘post_info’][‘is_active_tab’]=’1′;
unset($tab_array[‘post_info’]);//unset in old one
}// this is the post profile tab, by default is the 1st
if(isset($tab_array[‘post_map’])){
$new_tab_array[‘post_map’] = $tab_array[‘post_map’]; // set in new array
// IMPORTANT the following code tells GeoDirectory that this is no longer the default active tab
$new_tab_array[‘post_map’][‘is_active_tab’]=”;
unset($tab_array[‘post_map’]);//unset in old one
}// this is the post info tab (optional for custom fields), by default, if available, is the 2nd.
if(isset($tab_array[‘post_images’])){
$new_tab_array[‘post_images’] = $tab_array[‘post_images’];// set in new array
unset($tab_array[‘post_images’]);//unset in old one
}
// this is the images tab, by default is the 3rd
if(isset($tab_array[‘post_profile’])){
$new_tab_array[‘post_profile’] = $tab_array[‘post_profile’];// set in new array
unset($tab_array[‘post_profile’]);//unset in old one
}// this is the video tab, appears only if there are videos and by default is the 4th
if(isset($tab_array[‘post_video’])){
$new_tab_array[‘post_video’] = $tab_array[‘post_video’];// set in new array
unset($tab_array[‘post_video’]);//unset in old one
}// this is the speacial offer tab, appears only if there are special offers and by default is the 5th
if(isset($tab_array[‘special_offers’])){
$new_tab_array[‘special_offers’] = $tab_array[‘special_offers’];// set in new array
unset($tab_array[‘special_offers’]);//unset in old one
}// this is the map tab, by default is the 6th
if(isset($tab_array[‘reviews’])){
$new_tab_array[‘reviews’] = $tab_array[‘reviews’];// set in new array
unset($tab_array[‘reviews’]);//unset in old one
}// this is the related listing tab, it is optional and by default is the 8th
if(isset($tab_array[‘related_listing’])){
$new_tab_array[‘related_listing’] = $tab_array[‘related_listing’];// set in new array
unset($tab_array[‘related_listing’]);//unset in old one
}// now we set any remaining tabs that have not been assigned an order
foreach($tab_array as $key=>$tab){
$new_tab_array[$key]=$tab;
}return $new_tab_array ;
}Best regards.
August 27, 2018 at 8:55 am #444149Excellent!
-
AuthorPosts
We have moved to a support ticketing system and our forums are now closed.
Open Support Ticket