Как подсчитать сообщения с помощью WP_Query?

В следующем коде есть проблемы с «if clause».

«Echo» отображает правильное число «3», но «if count» отображает «FOUND one», что неверно.

Предполагается, что будет отображаться «НАЙДЕНО много», так как количество счетчиков равно 3.

Я пытался:

$count_post = $about_preview_query->found_posts;

$posts = get_posts($args);  

но все же "if clause" показывает один.

Не могли бы вы сообщить мне, как исправить код?

function profile_url(){
  $user = wp_get_current_user();

  if (!$user->ID) {
    return;
  }

  $args = array(
    'author'         => get_current_user_id(),
    'posts_per_page' => -1,
    'post_type'      => 'project',
    'post_status'    => 'publish'
  );

  $about_preview_query = new WP_Query($args);
  $count_post = $about_preview_query->post_count;

  if (count($count_post) == 0) {
    print "<h1>FOUND None</h1>";
  } elseif (count($count_post) == 1) {
    print "<h1>FOUND one</h1>";
  } else {
    print "<h1>FOUND a lot</h1>";
  }
  echo 'Your Count is: ' . $count_post;
}

Спасибо.

что внутри $count_post

bhucho 05.04.2021 07:44

Я не уверен, что это правильный ответ, но у настраиваемого сообщения есть заголовок, автор и пять полей acf

Aino 05.04.2021 08:01

Пожалуйста, не используйте Word для формулирования вопросов / кода

Strawberry 05.04.2021 10:56

Извините, но что вы имеете в виду?

Aino 06.04.2021 04:04
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
4
48
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Можешь попробовать

function profile_url() {
    $user = wp_get_current_user();

    if ( !$user->ID ){
        return;
    }    

    $args = array(
        'author'         => get_current_user_id(),
        'posts_per_page' => -1,
        'post_type'      => 'project',
        'post_status'    => 'publish'
    );
    
    $about_preview_query = new WP_Query($args);
    $count_post = $about_preview_query->found_posts;

    if ( $count_post == 0 ) {
        print "<h1>FOUND None</h1>"; } 
    elseif ( $count_post == 1 ) { 
        print "<h1>FOUND one</h1>";
    }else {
        print "<h1>FOUND a lot</h1>";
    }

    echo 'Your Count is: ' . $count_post; 
}

Спасибо, Бинь :) Я не знал, как писать условие if, и я научился этому от тебя.

Aino 06.04.2021 04:05

Другие вопросы по теме