• Надо вывести два произвольных поля с сортировкой по первому плюс тайтл этих постов из определенной категории. Соответственно сделан новый шаблон данной категории
    Решение:

    <?php 
    $args = array(
        'post_type' => 'pole_one', // Указываем наш новый первый тип записи произвольного поля
        'orderby' => 'pole_one',  // Указываем сортировку первого поля
        'order'   => 'DESC',    // Сортируем по первому полю
        array(
        'post_type' => 'pole_two', // Указываем наш новый второй тип записи произвольного поля
        );
    );
    $p = get_posts( $args );
    foreach ( $p as $post ) {
        setup_postdata( $post );
       ?>
      <a href="<?= the_permalink() ?>"><?= the_title() ?></a><br />
    <?php } wp_reset_postdata(); ?>

    Но то то не выходит

    • Тема изменена 6 лет, 9 месяцев назад пользователем locmail.
    • Тема изменена 6 лет, 9 месяцев назад пользователем locmail.
    • Тема изменена 6 лет, 9 месяцев назад пользователем locmail.
    • Тема изменена 6 лет, 9 месяцев назад пользователем locmail.
    • Тема изменена 6 лет, 9 месяцев назад пользователем locmail.
Просмотр 15 ответов — с 1 по 15 (всего 17)
  • во-первых, научитесь пользоваться кнопочкой code на этом форуме. а во-вторых, забудьте про get_posts и используйте WP_Query — все возможные варианты использования есть в кодексе. а все нестандартные примеры циклов очень легко находятся в гугле.

    Спасибо Flector, кнопкой code уже научился пользоваться

    Да действительно, в кодексе очень много, что есть. Только не понятно, как все это собирать?

    Начало есть:

     <?php
    
        $query = new WP_Query('category_name=название категории');
    
        while ( $query->have_posts() ) {
    	$query->the_post();
    
    	 <h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>// выведем заголовок поста
    }
    ?>

    Добавил:

       <?php
        $query = new WP_Query('cat=5311');
        ?>
    
       <?php
        while ( $query->have_posts() ) {
    	$query->the_post();
    		 }
    	 ?>
         <?php while (have_posts()) : the_post(); ?>
    	 <h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
    <?php
        endwhile;
    wp_reset_postdata();
    ?>

    Поменял и вставил (array):

     <?php
        $query = new WP_Query ( array('cat=11') );
        ?>

    ну я не знаю, что вы хотите получить.
    вопрос у вас задан крайне некорректно.
    если первый тип записей сортируется по полю — то причем тут второй тип записи?

    Второй тип тоже должен выводится в месте с заголовком. Пока еще не прикрутил.
    В итоге должно выводится и определенной категории:
    1. первый тип произвольной записи — текст (должен сортироваться)
    2. второй тип произвольной записи — текст
    3. заголовок
    и так цикл

    сейчас попробую добавить (array)

    • Ответ изменён 6 лет, 9 месяцев назад пользователем locmail.

    Наверное не тип записи а сама запись:
    1. первая произвольная запись — текст (должен сортироваться)
    2. вторая произвольная запись — текст
    3. заголовок
    и так цикл

    то есть две произвольные записи упаковать (добавить) в массив (как то так) и вывести

    неа, все равно непонятно.

    у вас должна выводится запись1, отсортированная по полю. потом запись2 без сортировки (ну по дате скажем), потом опять запись1 и тд и тп.

    просто непонятно куда вы хотите запихнуть второй тип записей.

    Да все правильно запись 1 отсортированная по полю, запись 2, название статьи, потом опять запись1 и тд и тп. — это все, больше не каких типов записей нет. Я просто не правильно выразился.

    Что то я перемудрил с array(), так можно писать array() через запятую, или надо их вкладывать друг в друга

     <?php
        $query = new WP_Query ( array('cat=11'),
        array(
        'post_type' => 'pole_one', // Указываем первую произвольную запись
        'orderby' => 'pole_one',  // Указываем сортировку произвольной записи
        'order'   => 'DESC',    // Сортируем по первому полю
        array(
        'post_type' => 'pole_two', // Указываем вторую произвольную запись
        );
    
        ?>
    
       <?php
        while ( $query->have_posts() ) {
    	$query->the_post();
    		 }
    	 ?>
         <?php
          while (have_posts()) : the_post(); ?>
    	 <h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
    <?php
        endwhile;
    wp_reset_postdata();
    ?>

    не получается что то

    Переделал (я думаю правильно):

    
     <?php
        $query = new WP_Query ( array('cat=11',
        array(
        'post_type' => 'pole_one', // Указываем первую произвольную запись
        'orderby' => 'pole_one',  // Указываем сортировку произвольной записи
        'order'   => 'DESC',    // Сортируем по первому полю
        array(
        'post_type' => 'pole_two', // Указываем вторую произвольную запись
        )
    )
    )
    );
    
        ?>
    
       <?php
        while ( $query->have_posts() ) {
    	$query->the_post();
    		 }
    	 ?>
         <?php
          while (have_posts()) : the_post(); ?>
    	 <h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
    <?php
        endwhile;
    wp_reset_postdata();
    ?>

    А произвольные поля то не выводятся!!!

Просмотр 15 ответов — с 1 по 15 (всего 17)
  • Тема «Вывод произвольных полей с сортировкой в одной категории» закрыта для новых ответов.