<?php echo do_shortcode('шорткод');?>
// Shortcode [wpml_language language="en"] [/wpml_language]
function wpml_find_language( $attr, $content = null ){
extract(shortcode_atts(array(
'language' => '',
), $attr));
$current_language = ICL_LANGUAGE_CODE;
if($current_language == $language){
$output = do_shortcode($content);
}else{
$output = "";
}
return $output;
}
add_shortcode( 'wpml_language', 'wpml_find_language');
[wpml_language language="en"]Your text here[/wpml_language]
[wpml_language language="ru"]Ваш текст здесь[/wpml_language]
<?php if(ICL_LANGUAGE_CODE=='ru') {?>
Привет мир!
<?php } elseif (ICL_LANGUAGE_CODE=='en') { ?>
Hello World!
<?php } ?>
add_action('init', 'register_post_types');
function register_post_types(){
// Таксономия объекты
register_taxonomy('objectcat', array('object'), array(
'label' => 'Рубрики объектов',
'labels' => array(
'name' => 'Рубрики объектов',
'singular_name' => 'Рубрики объектов',
'search_items' => 'Искать рубрики',
'all_items' => 'Все рубрики',
'parent_item' => 'Родит. рубрика',
'parent_item_colon' => 'Родит. рубрика:',
'edit_item' => 'Редактировать рубрику',
'update_item' => 'Обновить рубрику',
'add_new_item' => 'Добавить рубрику',
'new_item_name' => 'Заголовок',
'menu_name' => 'Рубрики объектов',
),
'description' => 'Рубрики для объектов',
'public' => true,
'show_in_nav_menus' => true,
'show_ui' => true,
'show_tagcloud' => false,
'hierarchical' => true,
'rewrite' => array( 'hierarchical' => true ),
'show_admin_column' => true,
) );
// Объекты
register_post_type('object', array(
'label' => 'Объект',
'labels' => array(
'name' => 'Объекты',
'singular_name' => 'Объект',
'add_new' => 'Добавить новый',
'add_new_item' => 'Введите заголовок',
'edit_item' => 'Редактирование объекта',
'new_item' => 'Новый объект',
'view_item' => 'Посмотреть объект',
'search_items' => 'Искать объект',
'not_found' => 'Объектов не найдено',
'not_found_in_trash' => 'В корзине объектов не найдено',
'parent_item_colon' => '',
'menu_name' => 'Объекты',
),
'description' => 'Объекты',
'public' => true,
'publicly_queryable' => true,
'exclude_from_search' => false,
'show_ui' => true,
'show_in_menu' => true,
'show_in_admin_bar' => true,
'menu_position' => 23,
'menu_icon' => 'dashicons-plus-alt',
'capability_type' => 'post',
'map_meta_cap' => true,
'hierarchical' => false,
'supports' => array('title','thumbnail'),
'taxonomies' => array('objectcat', 'localcat'),
'has_archive' => true,
'rewrite' => array('slug' => 'objects', 'with_front' => false),
'query_var' => true,
) );
}
Первый цикл получает координаты меток, а второй цикл получает остальные данные (название объекта, адрес, контакты). А потом к аккордеону при помощи js привязана ф-ция при клике на табы позиционируем элемент по центру на карте...
Думаю, что вы можете поступить аналогичным образом... Например, создать цикл WP_Query, достать из БД ваш кастомный тип записи и вывести его рядом с картой. А потом написать небольшой js обработчик, при клике позиционировать элемент на карте... Как-то так...