tjsherrill
  • 0
Новичок

Пользовательское поле как логическое значение с флажком?

  • 0

Я установил плагин дополнительных полей, который дает мне доступ к флажку настраиваемого поля. При настройке поля через плагин надпись гласит: Создает один чекбокс, клавиша которого либо вкл/выкл. Как видно из запроса, я ищу все события, у которых event-archive = on.

Есть лучший способ сделать это? В любом случае это не возвращает никаких сообщений. Есть ли лучший способ построить логическое поле?

$archive_query = new WP_Query(
        array( 
          'post_type'  => 'event',        // only query events
          'meta_key'    => 'event-archive',  // load up the event_date meta
          'order'       => 'desc',         // ascending, so earlier events first
          'posts_per_page' => '5',
          'meta_query'  => array(
             array(         // restrict posts based on meta values
              'key'     => 'event-archive',  // which meta to query
              'value'   => 'on',  // value for comparison
              'compare' => '=',          // method of comparison
              'type'    => 'CHAR'         // datatype, we don't want to compare the string values
             ) // meta_query is an array of query ites
            ) // end meta_query array
          ) // end array
        ); // close WP_Query constructor call
Share
  1. Вы уже смотрели на вывод WP_Query, если вы не отправляете ключ «meta_query»? Получаете ли вы сообщения для event-posttype?

    Если да, то вы можете проверить, что плагин «больше файлов» помещает в настраиваемое поле «архив событий». Возможно, вам нужно установить значение в целое число 1 или просто отправить логическое значение true. например

    array(
    'key'     => 'event-archive', 
    'value'   => 1
    )
    
    array(
    'key'     => 'event-archive', 
    'value'   => true
    )
    

    РЕДАКТИРОВАТЬ

    Я только что установил плагин, создал новое метаполе «архив событий» типа «флажок» и несколько сообщений с этим метазначением и без него.

    Если я использую следующий запрос, я получаю все сообщения из типа сообщения «событие» с выбранным метазначением.

    $args = array(
    'post_type' => 'event',
    'order' => 'desc',
    'posts_per_page' => '5',
    'numberposts' => -1,
    'meta_query' => array(
        array(
            'key' => 'event-archive',
            'value' => 1,
            'compare' => '=',
            'type' => 'CHAR'
        )
    )
    
    $archive_posts = get_posts($args);
    print_r($archive_posts);
    

    Примечание

    • Вы также можете использовать WP_Query, если хотите
    • Для параметра «meta_query» требуется WordPress 3.1.
    • 0

Оставить ответ

You must login to add an answer.