[pagelist_ext child_of="699" depth="2" show_image="0" show_meta_key="town_name" show_title="0" show_content="0"]
,<?php
// WP_Query arguments
$args = array(
'post_type' => array( 'page' ),
'post_status' => array( 'publish' ),
);
// The Query
$page_query = new WP_Query( $args );
// The Loop
if ( $page_query->have_posts() ) {
while ( $page_query->have_posts() ) {
$page_query->the_post();
?>
<div class='page-item' id="page-<?php the_ID(); ?>">
<h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
<?php the_content(); ?>
</div>
<?php
}
the_posts_navigation();
} else {
echo "<h2>Записей нет.</h2>";
}
// Restore original Post Data
wp_reset_postdata();
?>
// Add Cities Shortcode
function cities_shortcode( $atts ) {
// Список возможных параметров шорткода: родительская страница и имя поля, значение которого нужно вывести
$atts = shortcode_atts(
array(
'parent' => '',
'key' => 'town_name'
),
$atts
);
// Задаем параметры WP_Query, чтобы получить список всех нужных страниц в одном объекте
$args = array(
'post_type' => array( 'page' ),
'post_status' => array( 'publish' ),
'post_parent' => $atts[parent]
);
//Объект WP_Query
$page_query = new WP_Query( $args );
//Обертка для всех элементов, которые получатся, можно вставить свои классы
$result_start = '<ul class="cities-list">';
$result_end = '</ul>';
//Цикл, выводим все города
while ( $page_query->have_posts() ):
$page_query->the_post();
$post_id = get_the_ID(); //ID Страницы
$city_name = get_post_meta( $post_id, $atts[key], true ); //Название города
$result = $result . '<li class="cities-item"><a href="' . get_the_permalink() . '">' . $city_name . '</a></li>'; //Название города, ссылка, + обертка из <li>
endwhile;
wp_reset_postdata();
return $result_start . $result . $result_end;
}
add_shortcode( 'cities', 'cities_shortcode' );
<?php
if ( have_posts() ) : // если имеются записи в блоге.
query_posts('cat=11&posts_per_page=1'); // указываем ID рубрик, которые необходимо вывести.
while (have_posts()) : the_post(); // запускаем цикл обхода материалов блога
the_title(); // заголовок поста в места него укажи поле Город.
endwhile; // завершаем цикл.
endif;
/* Сбрасываем настройки цикла. Если ниже по коду будет идти еще один цикл, чтобы не было сбоя. */
wp_reset_query();
?>