Основная проблема, с которой вы столкнулись, заключается в том, что вы выполняете второй запрос $customer_posts
, только если исходный запрос WordPress (который проверяет только обычный post_type) имеет результаты.
Итак, что произойдет, это будет никогда не звонил, когда у вас есть только molink
в вашей категории A.
На мой взгляд, лучший способ обойти это - использовать pre_get_posts
WordPress-хук, который вы можете найти более подробно о Здесь .
Запускается после создания объекта переменной запроса, но до запуска фактического запроса.
Вы должны создать код, который будет выглядеть как-то как в следующем примере:
// Somewhere around functions.php
function add_molinks_to_post_archives ( $query ) {
// Only apply when is main category, inside inside a category page
if ( is_category() && $query->is_main_query() ) {
$query->set( 'post_type', array( 'post', 'molink' ) );
}
}
add_action ( 'pre_get_posts', 'add_molinks_to_post_archives' );
И затем вы можете просто пропустить пользовательский код внутри самого l oop.