В случае когда функция используется для создания шорт-кода, то не нужен "echo", так как надо вернуть результат в определённое место, где и используется вызов шорт-кода. А разместив функцию в шаблоне Вы потеряете возможность обращаться к ней из текста поста. Если Вы имеете ввиду, вставить в шаблон дополнительный цикл (WP_Query), для перебора определённых типов постов, то конечно вам нужен только этот код:
Как бы не было, всё равно это не делается быстро. Лично я бы делал на Laravel (https://laravel.ru), всё, что надо там есть. (Это лично мой выбор, который не является единственно правильным.) В большинстве случаев имеется куча готовых решений на любой вкус, даже на WordPress'е без знаний программирования можно сделать всё из вашего списка потребностей.
Чаще всего, делая вывод записей "Custom Post Type" забывают вернуть управление основному циклу (WP_Query), поэтому может не работать разбитие страниц. Сложно сказать, вопрос слишком абстрактный, надо видеть код. А то что называют "подгрузкой постов" гуглиться как "Infinity scroll", вот например Jetpack (jetpack.me) это умеет делать, пример тут: www.coolwebmasters.com/wordpress/4273-wordpress-in...
Если имеется какой либо скрипт, который проверяет заполнены ли все поля формы, то он вполне может блокировать посылку формы. Эту форму Вы сами писали? Знаете значение полей? Если же переделываете что-то стандартное WP, то поле ввода комментария это "comment", а не "real-comment". Попробуйте удалить строку с выводом поля "real-comment" и из поля "comment" удалить "display: none;".
В случае заявленной модели (A1342) используется обычный 2,5" диск, который можно менять на что угодно. А вот в более новых моделях с PCIe SSD есть ограничения, хотя некоторые сторонние производители заявляют, что их диски обходят заводские ограничения.