WordPress: Как объединить пользовательский массив типов записей? - PullRequest
0 голосов
/ 23 июля 2010

Я пытаюсь настроить годовой (сгруппированный по месяцам) архив для пользовательских типов записей в WordPress. Но мой код не работал так, как было указано. Возможно, это очевидно для тех, кто более знаком с WordPress и PHP, но я не могу заставить его работать.

Код ниже группирует по месяцам , но по каждому типу постов. Может быть, мне нужно слить стенд. Но как?

<?php query_posts (array ('post_type' => array('images', 'articles')));?>

    <?php
        if (have_posts()) : while (have_posts()) : the_post();

        // save month to a variable
        $month = the_date('M', '', '', FALSE);

        // If not used before print it 
        if ($month != $m_check) {
            echo "<h2>" . $month . "</h2>";
        }

        // save month to check variable
        $m_check = $month;
    ?>

    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br/>

    <?php endwhile; ?>
    <?php endif; ?>
<?php wp_reset_query();?>

С уважением, Стив

Ответы [ 3 ]

1 голос
/ 23 июля 2010

Вам понадобится: http://wordpress.org/extend/plugins/posts-to-posts/ для достижения того, что вы хотите с помощью пользовательских сообщений.

0 голосов
/ 15 сентября 2017

Простой и правильный способ объединения нашего пользовательского аргумента цикла в цикле wordpress по умолчанию.

0 голосов
/ 23 июля 2010

Хорошо ... после чашки чая я получил его с другим (вероятно, лучше) подходом.

Решение

<?php

    $args = array(
        'post_type' => array('images', 'articles'),
        'numberposts' => -1,
        'post_status' => null,
        'post_parent' => null,
        );

    $posts = get_posts($args);

    if ($posts) {
        foreach ($posts as $post) {
            setup_postdata($post);
            $month =  mysql2date('m', $post->post_date);

            if ($month != $check) {
                echo "<h2>" . $month . "</h2>";
            }

            // save month to check variable
            $check = $month;

            echo $post->post_title;
            echo '<br/>';
        }
    }

    ?>

выход

07
    Eagle creek
    Lorem Ispum dolor
    Vancouver Island
    Ottawa
    Vancouver
06
    Losabim oxygenium

Теперь это нужно просто немного украсить, и я готов. Кстати, @ negatif , спасибо за ваше предложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...