Почему выводил 5 а не 8 ?
global $post;
$args = array( 'numberposts' => 8);
$category = get_the_category();
rsort($category);
$cat_add_id = $category[0]->term_id;
$real_id = get_the_ID();
$args = array('cat' =>$cat_add_id);
if ($post->ID <> $real_id);
$myposts = get_posts($args);
foreach( $myposts as $post)
Потому что затираешь параметры.
Пиши нормально код - не лепи все в одну строку. Делай отступы, ставь пробелы, группируй логические блоки.
Это прочти или прочти еще раз https://wp-kama.ru/id_8454/wp-php-standarts.html
спасибо. хорошо. я только пробую писать
Пошел тоже читать, хотя часть правил делаю на интуитивном уровне, смотреть удобно и сам начал повторять.