Проще всего по смещению:
договариваемся, что переменная будет offset
при запросе (запуске скрипта) смотрим значение переменной из $_GET
(если её в запросе нет, ставим значение 0)
получаем список постов
отбрасываем от этого списка первые посты соразмерно значению offset
выводим остальные посты в зависимости от того, сколько нужно на страницу (например 20)
выводим ссылку на следующую страницу в ссылке указываем offset=offset+20 (т.е. текущее значение + 20 - сколько постов уже вывели)
разумеется нужно проверять как валидность самого параметра offset, например просто
$offset = intval($_GET["offset"]);
ну и так же проверять - нужно ли выводить ссылку на следующую страницу
if ($offset+20 <= $postCount) { //-- посты ещё есть
}
Это в общем и самый простой способ по-моему.
Дальше уже в зависимости как посты получаете - может что бы лишние посты не получать из базы, будет проще установить для запроса select .... LIMIT (offset, 20)
проблемы возникнут с этим способом если так же нужна сортировка постов либо посты будут часто добавляться/удаляться и подгрузка нужна через ajax.