#wordpress #filter #count #custom-post-type #custom-taxonomy
#wordpress #Фильтр #подсчитать #пользовательский тип записи #пользовательская таксономия
Вопрос:
У меня есть пользовательская таксономия под названием «задачи», разделяемая между двумя пользовательскими типами записей «роли» и «продукты».
Ожидаемые результаты: Мне нужно подсчитать, сколько раз данный термин «задача» используется для каждого типа записи «роль», минус количество, общее для типа записи «продукт», использующего тот же термин «задача».
Фактические результаты: нет для отчета, поскольку я не знаю, как с этим справиться
Сообщения об ошибках: Нет
Что я пробовал: Google продолжает возвращаться к тому, как подсчитывать тип записи, а не термины:(
Приведенный ниже код — это мой план B. Здесь я просто выполняю несколько микроциклов для каждого типа записи (только один показан ниже для краткости), получая задачи и превращая их в ассоциативный массив с помощью array_count_values
$taskList = [];
$queryRoles = new WP_Query( array(
"post_type" => "roles"
));
while ( $queryRoles->have_posts() ) : $queryRoles->the_post();
$tasks = get_the_terms( get_the_ID(), "tasks" );
foreach ( $tasks as $task ) :
$taskList[] = $task->name;
endforeach;
endwhile;
$overlappingRoleTasks = $taskList;
print_r(array_count_values($taskList));
Ответ №1:
вы могли бы выполнить цикл, ограниченный только сообщениями с назначенными задачами, и цикл, ограниченный только продуктами с назначенными задачами. Затем, используя sizeof();
который возвращает количество элементов в массиве, подсчитайте каждое количество записей и продуктов, а затем выполните некоторые базовые вычисления php.
Подробнее о sizeof();
@ https://www.w3schools.com/php/func_array_sizeof.asp