Как добавить нумерацию страниц в функцию произвольного типа поста с коротким кодом? - PullRequest
0 голосов
/ 28 февраля 2019

Здравствуйте, мы пытаемся добавить кнопку «читать больше» в этот короткий код, который мы сделали, нам бы хотелось, чтобы на странице отображалось 9 сообщений, а внизу была бы кнопка «читать больше», которая показала бы три или более записей за клик.

Если это невозможно, мы бы рассмотрели просто обычную нумерацию страниц в нижней части шорткода, которая бы отображала похожие страницы.Мы бы довели количество сообщений до 6, и каждая страница содержала бы шесть сообщений

 add_shortcode('homes', 'sdhomes_homes_shortcode');

function sdhomes_homes_shortcode($atts) {
global $post;

$dumb = $post;
$s = '';

extract(shortcode_atts(array(
    'community' => null,
), $atts));

$q = array(
    'order' => 'DESC',
    'post_type' => 'homes',
    'category_name' => 'available-homes',
    'posts_per_page' => 9
);

if ($community) {
    $q['meta_query'] = array(
        array(
            'key' => 'home_community',
            'value' => $community,
            'type' => 'NUMERIC',
        ),
    );
}

$posts = get_posts($q);

if (empty($posts)) return false;

$s .= '<div class="homes">';

foreach ($posts as $post) {
    $photos = get_field('home_photos', $post->ID);
    $s .= '<div class="home clearfix wrapper">';
    $s .= '<div class="photo">';
    if (!empty($photos[0]['home_photo']['url'])) $s .= '<a href="' . get_permalink($post->ID) . '"><img src="' . $photos[0]['home_photo']['url'] . '" alt="" /></a>';
    if ($value = get_field('home_title', $post->ID)) $s .= '<span class="home-title portfolio-header"><a class="more" href="' . get_permalink($post->ID) . '">' . $value . '</a></span><br />';
    $s .= '</div>';
    $s .= '<div class="details">';
    $s .= '<div class="clearfix">';
    $s .= '<div>';

    if ($value = get_field('home_status', $post->ID)) $s .= '<p class="home-main-details"><span class="portfolio-title"><span class="home-status ' . (strtolower($value) == 'sold' ? 'sold' : '') . '">' . $value . '</span></span></p>';
    if ($value = get_field('home_title', $post->ID)) $s .= '<p class="home-main-details"><span class="home-title community-home-title"><a href="' . get_permalink($post->ID) . '">' . $value . '</a></span></p>';
    if ($value = get_field('home_city', $post->ID)) $s .= '<p class="home-main-details"><span class="portfolio-title city-title">' . $value . '</span></p>';
    $s .= '</div>';
    $s .= '<div>';
    if ($value = get_field('home_bedrooms', $post->ID)) $s .= '<span class="portfolio-title">Bedrooms: ' . $value . '</span><br />';
    if ($value = get_field('home_bathrooms', $post->ID)) $s .= '<span class="portfolio-title">Bathrooms: ' . $value . '</span><br />';
    if ($value = get_field('home_sqft', $post->ID)) $s .= '<span class="portfolio-title">SQ Feet: ' . number_format($value) . '</span><br />';
    if ($value = get_field('home_price', $post->ID)) $s .= '<span class="portfolio-title">Price: $' . number_format($value) . '</span><br />';

    $s .= '<a class="more" href="' . get_permalink($post->ID) . '"><div class="view-more portfolio-title">View Home Details</div></a>';
    $s .= '</div>';
    $s .= '</div>';
    $s .= '</div>';
    $s .= '</div>';
}

$s .= '</div>';

$post = $dumb;

return $s;

}

...